[英]Manipulate dataframe with pandas to transpose columns and adjust dates?
如何像这样操作 dataframe ,进行转置,将一个连接到另一个并以日期的形式排列?
让它通过转换现有的 dataframe 来实现,而不会影响它的创建。
Dataframe:
df = pd.DataFrame({
'Jan':[1, 2, 3],
'Feb':[4, 5, 6],
'Mar':[7, 8, 9]
})
df
Output:
Jan Feb Mar
0 1 4 7
1 2 5 8
2 3 6 9
期望的结果:
1990-Jan 1
1990-Feb 4
1990-Mar 7
1991-Jan 2
1991-Feb 5
1991-Mar 8
1992-Jan 3
1992-Feb 6
1992-Mar 9
obs:在最终结果中,日期不必是月份的名称,它可以是它们的编号。
# flatten the DF
df2=df.stack().reset_index().rename(columns={0:'val'})
# create the date
df2['date'] = (1990 + df2['level_0']).astype('str') + "-" + df2['level_1']
# drop unwanted columns
df2=df2.drop(columns=['level_0','level_1'])
df2
val date
0 1 1990-Jan
1 4 1990-Feb
2 7 1990-Mar
3 2 1991-Jan
4 5 1991-Feb
5 8 1991-Mar
6 3 1992-Jan
7 6 1992-Feb
8 9 1992-Mar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.