繁体   English   中英

使用 pandas 操作 dataframe 以转置列并调整日期?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM