基于特定年龄段计算Pandas DataFrame及调整Create Time列格式
Pandas 数据处理解决方案
一、调整Created Time列的显示格式
先确保该列是datetime类型,再按需转换格式:
1. 转换为datetime类型
import pandas as pd # 假设你的DataFrame名为df df['Created Time'] = pd.to_datetime(df['Created Time'])
2. 自定义格式输出
根据需求用dt.strftime()转换,示例如下:
# 转为"YYYY-MM-DD"纯日期格式 df['Created Time'] = df['Created Time'].dt.strftime('%Y-%m-%d') # 转为带中文的完整时间格式:"YYYY年MM月DD日 HH时MM分SS秒" df['Created Time'] = df['Created Time'].dt.strftime('%Y年%m月%d日 %H时%M分%S秒')
可修改格式参数适配需求,常用参数:%Y(4位年)、%m(2位月)、%d(2位日)、%H(24小时制)、%M(分钟)、%S(秒)。
二、基于特定年龄段的计算
当前DataFrame无年龄字段,需先补充年龄数据再分组计算:
1. 计算年龄(假设存在Birth_Date出生日期列)
# 转换出生日期为datetime类型 df['Birth_Date'] = pd.to_datetime(df['Birth_Date']) # 按年份差计算年龄(忽略月份细节) df['Age'] = pd.Timestamp.now().year - df['Birth_Date'].dt.year
2. 定义年龄段分组
# 自定义区间与标签 age_bins = [0, 18, 25, 35, 50, 100] age_labels = ['<18', '18-25', '26-35', '36-50', '>50'] # 添加年龄段列 df['Age_Group'] = pd.cut(df['Age'], bins=age_bins, labels=age_labels, right=False)
3. 按年龄段统计计算
# 统计各年龄段人数 age_count = df.groupby('Age_Group')['S_No'].count() print(age_count) # 统计各年龄段的平均G_Id(G_Id需为数值型) age_avg_gid = df.groupby('Age_Group')['G_Id'].mean() print(age_avg_gid)
若已有年龄字段,可跳过步骤1直接分组计算。
内容的提问来源于stack exchange,提问作者balaji
相关产品推荐
相关产品推荐

