python - 如何让 pandas 根据特定日期变量将每一行视为一列?

标签 python pandas dataframe

我正在尝试旋转我的 pandas 数据框,以便我的数据看起来像......

     date   | data_1 | data_2 | data_3 | data_4
-----------------------------------------------
'2017-04-01'|     100|     200|     300|    400
'2017-05-01'|     500|     222|     333|    444

看起来像...

       | '2017-04-01' | '2017-05-01'
------------------------------------
data_1 |           100|          500
data_2 |           200|          222 
data_3 |           300|          333
data_4 |           400|          444

我一直在考虑旋转数据框,但我无法弄清楚“索引”是什么。当我尝试向每一行添加索引值时,我尝试了这个数据透视:

pd.pivot(index='index', 
        columns='date', 
        values=['data_1', 'data_2', 'data_3', 'data_4'])

但它给了我一个错误,说 Length of index, columns and values must be the same .

我显然已经超出了我的能力范围。谁能指出我正确的方向?

最佳答案

使用set_index + 转置:

res = df.set_index('date').T

print(res)

date    '2017-04-01'  '2017-05-01'
data_1           100           500
data_2           200           222
data_3           300           333
data_4           400           444

因此,您不需要使用pivot_table,它几乎专门为您需要基于枢轴执行聚合时保留。请注意,属性 T 是方法 transpose() 的访问器。

关于python - 如何让 pandas 根据特定日期变量将每一行视为一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918180/

相关文章:

python - tz_localize : KeyError: ('Asia/Singapore' , u'发生在索引 0')

python - 如何计算股票回调

python - 用于数据输入的类似 bash 的 heredoc

python - 如何在numpy中将图像(28,28,1)转换为(28,28,3)

python - 将数据帧拆分为多个数据帧

python - 根据样式过滤 Pandas DataFrame

python - Pandas:按 | 过滤行(OR) – 不互相包容

python - 使我的 python 命令行程序与 argparse 交互

python - 为什么我不能将 True 存储在 Set 中?

python - 如何从 CSV 文件子集创建自定义 DataFrame