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

标签 python pandas pivot pivot-table

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

     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/

相关文章:

python - 使用 np.random 生成值

MySQL查询协助

excel - 为什么 Excel 2010 数据透视表中出现重复行?

python - 应用程序需要一个文件系统元数据层

python - 增加尾随数字时的字符串操作怪异

python - 比较列表(A)中的项目是否作为列表(B)中的子项目存在

基于一两列 reshape 数据

Python OpenCV - 一个模板匹配函数

python - 如何有效计算 pandas 中所有后续行的平均值?

python - Pandas 数据框无法将列数据类型从对象转换为字符串以进行进一步操作