У данашњем свету, анализа података постаје све важнија, а један од најпопуларнијих алата који користе аналитичари података и научници података је Питхон са библиотеком панда. Пандас је моћан алат за анализу и манипулацију података отвореног кода који омогућава лаку манипулацију структурама података и серијама. Један уобичајени проблем са којим се корисници сусрећу је претварање датума рођења у године ради прецизније и практичније анализе. У овом чланку ћемо се позабавити јасним примерима и објашњењима имплементације кода како да решимо овај проблем.
Пандас је свестран алат који често укључује рад са објектима ДатеТиме – то је случај када се ради о датумима рођења. Први корак за претварање датума рођења у године захтева једноставну аритметику са библиотеком ДатеТиме. Ово ће нам омогућити да пронађемо старост појединаца тако што ћемо израчунати разлику између њиховог датума рођења и тренутног датума.
Почнимо са увозом потребних библиотека:
import pandas as pd from datetime import datetime
Затим, размотрите једноставан скуп података који садржи следеће податке о појединцима:
data = {'Name': ['John', 'Paul', 'George', 'Ringo'], 'Birth_Date': ['1940-10-09', '1942-06-18', '1943-02-25', '1940-07-07'] } df = pd.DataFrame(data) df['Birth_Date'] = pd.to_datetime(df['Birth_Date'])
У горњем коду, колону 'Биртх_Дате' конвертујемо у објекте ДатеТиме.
Израчунавање старости
Сада смо спремни да израчунамо старост ових особа тако што ћемо пронаћи разлику између њиховог датума рођења и тренутног датума. Да бисте то урадили, следите ове кораке:
1. Креирајте функцију под називом 'цалцулате_аге' која узима датум рођења као улаз и враћа старост особе.
2. Примените ову функцију на колону 'Биртх_Дате' у оквиру ДатаФраме.
Ево кода за имплементацију горње логике:
def calculate_age(birth_date): today = datetime.now() age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day)) return age df['Age'] = df['Birth_Date'].apply(calculate_age)
У овом исечку кода направили смо функцију под називом 'цалцулате_аге' која прима датум рођења као улаз, израчунава тренутни датум користећи датетиме.нов() и израчунава старост особе одузимањем године њеног рођења од текуће године. Ако њихова рођендан се није догодио ове године, одузимамо додатну годину.
Коначно, ову функцију примењујемо на колону 'Биртх_Дате' користећи методу аппли(), а израчунати узрасти се чувају у новој колони 'Аге' у ДатаФраме-у.
Коришћење Нумпи и Пандас за израчунавање старости
Алтернативно, за овај задатак можемо користити моћну библиотеку нумпи у комбинацији са пандама. Да бисте датуме рођења претворили у узрасте користећи нумпи, следите ове кораке:
1. Увезите библиотеку нумпи.
2. Користите функцију нумпи 'спрат' да бисте израчунали старост.
Ево примера како то да урадите:
import numpy as np df['Age'] = np.floor((datetime.now() - df['Birth_Date']).dt.days / 365.25)
Овај код користи нумпи-јеву 'флоор' функцију да заокружи наниже резултат дељења са помичним зарезом број дана од датума рођења за 365.25 (узимајући у обзир преступне године).
Укратко, коришћењем библиотека као што су пандас и датетиме или пандас и нумпи, постаје беспрекорно претварање колона датума рођења у старост унутар скупа података. Праћење објашњених корака и разумевање кода датог у овом чланку ће вас наоружати знањем да манипулишете таквим подацима и извршите ефикаснију и тачнију анализу.