【问题标题】:Pandas dataframe convert rows to columns熊猫数据框将行转换为列
【发布时间】:2021-12-18 04:09:55
【问题描述】:

我一直在尝试这样做一段时间,我什至在这里查看了一些其他线程,但似乎直到现在还没有人遇到过这样的问题。 This is my dataframe

所以,我一直在尝试将包含 10 个不同可能值的“TipoPromo”列转换为 10 个不同的列,这些列上的值应该是出现在“Desconto”列上的值。这样做我希望显着减少我的数据帧上的行数,从而减少你们可以在其他行上看到的重复项(如果您查看“票证”等列,您会发现有很多值重复自己)。我尝试过使用 pivot 功能,但没有太大成功。你们能明白我想说什么吗?

任何帮助将不胜感激!

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python pandas duplicates pivot jupyter


【解决方案1】:

pandas 中的数据透视表可以解决这个问题。我将前 5 个和省略号行下方的一个复制为 csv 文件,然后:

df=pd.read_csv('data.txt',header=0)

cols=df.columns
cols=cols.drop(['Desconto','TipoPromo'])

df.pivot_table(columns='TipoPromo' , values='Desconto', index=cols.to_list()).reset_index()

这给出了:

TipoPromo           Mes        Dias Semana DiaSemana       Bandeira           Categoria  Tickets  ...  Venda Liquida          CMV  CODIGO 12   DIGITAL  MARK DOWN (CODIGO 5)  MEU DESCONTO  NIVEL LOJA
0          JANEIRO/2019  2019-01-06    S01       DOM  PAO DE ACUCAR  PEREC COMPLEMENTER   152240  ...    1956066.000  1340467.172        NaN       NaN                   NaN      26463.40         NaN
1          OUTOBRO/2021  2021-10-25    S44       SEG    EXTRA HIPER             LIQUIDA    24344  ...     453297.096   376097.323        0.0  14363.72                -21.05       1852.07    5776.574

【讨论】:

  • 嘿,非常感谢!我刚刚将它复制并粘贴到我的 jupyter 笔记本上,它马上就可以使用了!!
猜你喜欢
  • 1970-01-01
  • 2017-06-22
  • 2019-10-12
  • 2019-01-08
  • 2019-12-16
  • 2019-07-14
  • 2016-01-19
  • 2017-08-26
相关资源
最近更新 更多