gpt4 book ai didi

python - 如何 reshape 数据框(列中的不同类型)

转载 作者:行者123 更新时间:2023-12-01 08:17:47 27 4
gpt4 key购买 nike

我看到过很多关于这个话题的不同答案。在我的情况下,情况有点不同,我有以下数据框

     A    B      C  
0 OPXXX OPT1 70
1 OPXXX OPT2 KO
2 OPXXX OPT3 KO
3 OPXXX OPT4 B
4 OPXXX OPT5 175000
5 OPXXX OPT6 Europ
6 OPXXX OPT7 2019-01-21
7 OPXXX OPT8 2019-05-21
8 OPXXX OPT9 2019-10-21

我希望这样,但问题是由于聚合函数,pivot.table 不起作用:

 A     OPT1  OPT2 OPT3 OPT4 OPT5   OPT6         OPT7       OPT8         OPT9    
OPXXX 70 KO KO B 175000 Europe 2019-01-21 2019-10-21 2019-10-21

当我这样做时: df.pivot(index='A',values='C', columns='B')

我有以下错误

Traceback (most recent call last): File "C:/Users/V002697/PycharmProjects/portia/tiaex.py", line 17, in print(df.pivot(index='ticker',values='value', columns= 'field')) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\frame.py", line 3853, in pivot return pivot(self, index=index, columns=columns, values=values) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 378, in pivot return indexed.unstack(columns) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py", line 2028, in unstack return unstack(self, level, fill_value) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 458, in unstack fill_value=fill_value) File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 110, in init self._make_selectors() File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 148, in _make_selectors raise ValueError('Index contains duplicate entries, ' ValueError: Index contains duplicate entries, cannot reshape

我想知道您是否有一些想法?

谢谢

最佳答案

您可以使用pandas.DataFrame.pivot:

df.pivot(index='A', columns = 'B', values='C')

B OPT1 OPT2 OPT3 OPT4 OPT5 OPT6 OPT7 OPT8 OPT9
A
OPXXX 70 KO KO B 175000 Europ 2019-01-21 2019-05-21 2019-10-21

关于python - 如何 reshape 数据框(列中的不同类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54883677/

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