a表有实际数据如下:
df = pd.DataFrame({'title': ['a1','a2'], '2022-2': [2, 22], '2022-4': [4, 44]})
title 2022-2 2022-4
0 a1 2 4
1 a2 22 44
根据项目需要,实际还要一个 总共5个日期字段
list = ['2022-1',' 2022-2','2021-3' ,'2021-4','2021-5']
即需要把df表补齐为:
title 2022-1 2022-2 2022-3 2022-4 2022-5
0 a1 0 2 0 4 0
1 a2 0 22 0 44 0
请问pandas从a表取数后,怎么根据字段要求,补齐列名,如果不存在就填充零??
import pandas as pd
df = pd.DataFrame({'title': ['a1','a2'], '2022-2': [2, 22], '2022-4': [4, 44]})
df.insert(loc=1, column='2022-1', value=['0','0'])
df.insert(loc=3, column='2022-3', value=['0','0'])
df.insert(loc=5, column='2022-5', value=['0','0'])
print(df)
可以把填充的内容拿出来单独作为df,再利用resample函数处理:
content=df.iloc[:,1:]
content=content.T
temp=content.index
temp=pd.to_datetime(temp,format="%Y-%m")
content.index=temp
content=content.fillna(0)
但这种方法需要你手动插入最后一列。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!