python - 如何将 Pandas 中的列转换为行?

标签 python pandas dataframe row

我有这样的东西:

Values     Time
  22        0
  45        1
  65        2
  78        0
  12        1
  45        2

我想要这个:

Time    0    1    2 
Val1    22   45   65
Val2    78   12   45

我该怎么做?

最佳答案

这是 pivot 使用 cumcount 创建索引

df['idx'] = 'Val' + (df.groupby('Time').cumcount()+1).astype(str)
df.pivot(index='idx', columns='Time', values='Values').rename_axis(None)

输出:

Time   0   1   2
Val1  22  45  65
Val2  78  12  45

关于python - 如何将 Pandas 中的列转换为行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56317512/

相关文章:

Python xml解析etree按位置查找元素X

python - 重启后Django/Apache旧内容

python - CSV 到文本文件布局

Python Pandas - 如何从序列创建数据框

R. 处理导入的 Stata 文件中的日期和宽格式

python - 如何使用时间戳对 Pandas DataFrame 进行上采样

python - ks_2samp 返回 p 值 1.0

python - 无法将 CSV 文件合并到一个数据帧中

python - 当需要多个groupby()和shift()时,如何在pandas数据框中逐行重新计算值?

python - 在 python 雪花连接器中使用合并,以 pandas 数据框作为源