gpt4 book ai didi

python - 将 pandas 中的长列排列成多个较短的列

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:29 25 4
gpt4 key购买 nike

我有一个很长的数据列,我想按组组织。

np.random.seed(0)
data = {'unit':['a']*5+['b']*5,\
'day':list(range(5))+list(range(5)),\
'data':np.random.random(10)*10}
df = pd.DataFrame.from_dict(data)

数据框如下所示:

  unit  day      data
0 a 0 5.488135
1 a 1 7.151894
2 a 2 6.027634
3 a 3 5.448832
4 a 4 4.236548
5 b 0 6.458941
6 b 1 4.375872
7 b 2 8.917730
8 b 3 9.636628
9 b 4 3.834415

我想按天将其排列到表格中:

  day    data a    data b
0 0 5.488135 6.458941
1 1 7.151894 4.375872
2 2 6.027634 8.917730
3 3 5.448832 9.636628
4 4 4.236548 3.834415

目标是方便按天绘制“数据 a”和“数据 b”(pd.DataFrame.to_clipboard 并粘贴到 Excel 中)。

最佳答案

pivot

Pandas 有一个方法:

res = df.pivot(index='day', columns='unit')

print(res)

data
unit a b
day
0 5.488135 6.458941
1 7.151894 4.375872
2 6.027634 8.917730
3 5.448832 9.636628
4 4.236548 3.834415

您还有一点工作要做 elevate your index to a seriesflatten hierarchical columns ,但数据的结构如您所愿。

关于python - 将 pandas 中的长列排列成多个较短的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53490588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com