【问题标题】:How do I pivot a DataFrame correctly? [closed]如何正确旋转 DataFrame? [关闭]
【发布时间】:2021-03-29 03:08:16
【问题描述】:

这是我关于堆栈溢出的第一篇文章,所以在问这个问题时犯了错误,请提前道歉。

我正在尝试旋转一个 DataFrame,但我在努力理解它应该如何正确完成,并考虑到值的变化。我是 Python 和 Pandas 的初学者。

我使用的数据集可以在这里找到:https://www.kaggle.com/szymonjanowski/internet-articles-data-with-users-engagement

这个数据集我已经处理到这里了:article_data df

接下来我想做的是旋转这个 df 以便“source_id”成为列。我已经使用 pivot_table 方法做到了,但我得到了很多 NaN 值。这是我得到的结果的打印屏幕:pivoted data

此外,我不确定数据透视表是否仅考虑“source_id”列中的唯一值。为此,我试图实现一个 for 循环,它将遍历 source_id 的唯一值并将它们存储在旋转的 DF 中。但是,我不知道如何编写该代码。

如果您能给我一些建议,告诉我哪些方面做得好,哪些方面做得不好(以及如何解决这些问题的一些想法),我将不胜感激。

【问题讨论】:

  • 欢迎来到 SO :)。请提供您迄今为止尝试过的内容。

标签: python pandas dataframe pivot-table unique


【解决方案1】:

由于 source_id 中有重复值,因此您需要执行某种按该列分组的聚合,然后使用 .unstack()。但这是不可取的,因为您有很多无法汇总的文本数据。 你可以试试

df.set_index('source_id').T

但我不知道是否允许重复的索引名称。

【讨论】:

    猜你喜欢
    • 2019-03-19
    • 2015-07-26
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多