pandas通过出生时间计算年龄
时间: 2023-10-12 16:15:58 浏览: 75
可以利用pandas中的函数apply和lambda表达式来计算年龄。假设有一个名为df的DataFrame,其中包含一个名为birth_date的列,表示出生日期,可以使用以下代码来计算年龄:
```
import pandas as pd
from datetime import datetime
# 创建示例数据
data = {'name': ['Alice', 'Bob', 'Charlie'],
'birth_date': ['1990-01-01', '1995-05-12', '1985-07-31']}
df = pd.DataFrame(data)
# 定义计算年龄的函数
def calculate_age(birth_date):
birth_date = datetime.strptime(birth_date, '%Y-%m-%d')
today = datetime.today()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
return age
# 计算年龄并将结果添加到新列age中
df['age'] = df['birth_date'].apply(lambda x: calculate_age(x))
# 输出结果
print(df)
```
输出结果为:
```
name birth_date age
0 Alice 1990-01-01 31
1 Bob 1995-05-12 26
2 Charlie 1985-07-31 36
```