关于这个话题,我看到了许多不同的答案。在我的情况下,情况有点不同,我有以下数据帧
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
我很想这样,但问题是数据透视表由于聚合功能而无法工作:
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
当我这样做时:测向枢轴(索引='A',值='C',列='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
:df1=df.重命名(列={'A':'A1','B':'B1','A1':'A2','B1':'B2'}) pd.宽\u到长\u(df1,stubnames=['A','B'],i='index',j='id')\ .reset_index()[['A','B','id']]
0 1 2 1 1 5 6 1 2 9 10 1 3 3 4 2 4 7 8 2 5 11 12 2
相关问题 更多 >
编程相关推荐