gpt4 book ai didi

python - 将列转换为标题行

转载 作者:行者123 更新时间:2023-12-01 09:05:37 26 4
gpt4 key购买 nike

所以我得到了这个数据框/csv 文件:

,stock,adj_close
0,GERN,3.59
1,GERN,3.3
2,GERN,3.34
...
4530,CMCSA,35.78
4531,CMCSA,35.46
4532,CMCSA,35.08
...
9060,AAPL,189.63
9061,AAPL,189.25
9062,AAPL,190.31

有更多股票和数据点。每只股票有相同数量的行,每行都是一天。我想要实现的是标题行包含所有股票名称,其下方的行是 adj_close 中的值。所以结果看起来像这样:

,  GERN, CMCSA, AAPL, ............
0, 3.59, 35.78, 189.63 .. .. .. ..
1, 3.3, 35.46, 189.25 .. .. .. ..
2, 3.34, 35.08, 190.31 .. .. .. ..

这可能吗?

我研究了pivot方法和一些for循环,但无法让它工作。

最佳答案

使用set_indexunstack

In [37]: (df.set_index(['stock', df.groupby('stock').cumcount()])['adj_close']
.unstack('stock'))
Out[37]:
stock AAPL CMCSA GERN
0 189.63 35.78 3.59
1 189.25 35.46 3.30
2 190.31 35.08 3.34

或者,使用枢轴

In [47]: df.assign(cc=df.groupby('stock').cumcount()
).pivot(columns='stock', values='adj_close' , index='cc')
Out[47]:
stock AAPL CMCSA GERN
cc
0 189.63 35.78 3.59
1 189.25 35.46 3.30
2 190.31 35.08 3.34
<小时/>

详情

In [38]: df
Out[38]:
stock adj_close
0 GERN 3.59
1 GERN 3.30
2 GERN 3.34
4530 CMCSA 35.78
4531 CMCSA 35.46
4532 CMCSA 35.08
9060 AAPL 189.63
9061 AAPL 189.25
9062 AAPL 190.31

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

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