【问题标题】:How to transpose rows into columns python [duplicate]如何将行转换为列python [重复]
【发布时间】:2020-11-28 02:07:51
【问题描述】:

我有一个看起来像这样的数据框:

我想将所有的雨量和温度数据放在 2 个单独的列中

【问题讨论】:

标签: python pandas dataframe csv


【解决方案1】:

基于column1集合变换:

df2 = pd.DataFrame({k:list(df[df.column1 ==k].v2) for k in df.column1.unique()})
print(df)
print("=======")
print(df2)

输出

            v1  v2
0        Month   1
1         Rain  24
2  Temperature  69
3        Month   2
4         Rain   8
5  Temperature  42
6        Month   3
7         Rain  97
8  Temperature  17
==========
   Month  Rain  Temperature
0      1    24           69
1      2     8           42
2      3    97           17

【讨论】:

    【解决方案2】:

    你可以这样解决:

    df_months = df.iloc[::3, :].reset_index(drop=True).rename(columns={0:"Month"})
    df_rain = df.iloc[1::3, :].reset_index(drop=True).rename(columns={0:"Rain"})
    df_temp = df.iloc[2::3, :].reset_index(drop=True).rename(columns={0:"Temperature"})
    df_all = pd.concat([df_months,df_rain,df_temp],axis=1)
    

    输出:

    【讨论】:

    • 谢谢你的值,但是,列名仍然没有显示。索引(['0', '0', '0'], dtype='object')
    • 好的,那么您只需将上面代码中的名称 0 更改为:“0”就可以了
    • 没问题,当您对我的回答感到满意时,您可以给我的帖子点个赞吗?这将允许我最终对其他帖子发表评论
    猜你喜欢
    • 2019-08-09
    • 2021-10-23
    • 2017-05-09
    • 2013-06-22
    • 2015-08-06
    • 2013-10-01
    • 2020-11-14
    • 2021-08-12
    相关资源
    最近更新 更多