使用 pivot_table() 从重复的字符串中创建列 [重复]

Posted

技术标签:

【中文标题】使用 pivot_table() 从重复的字符串中创建列 [重复]【英文标题】:using pivot_table() to create columns out of repeating strings [duplicate] 【发布时间】:2018-01-02 13:17:00 【问题描述】:

大家好,这里是新手程序员

我有一个 panda df,它有一个 time 列、一个 id 列和一个包含许多字符串的列,用逗号分隔,这些字符串偶尔会像这样重复

id | Date        | interest
-------------------------
 1 | 2016-01-01  | Economic and Financial Affairs, Competition
 2 | 2017-05-17  | Energy, Environment
 3 | 2017-04-26  | Economic and Financial Affairs, Taxation
 4 | 2017-04-21  | Energy, Taxation
 5 | 2017-05-10  | Competition, Environment

我正在尝试找到一种方法来使用 .pivot_tables() 将日期设置为索引,并将不同的逗号分隔字符串设置为列,计算它们的频率以便绘制它们。

期望的输出:

Date | Econ. and Fin. Affairs| Competition | Energy
-----   -------------------    -----------  ------
2016-01-01 | 1               | 1           | 0
2017-05-17 | 0               | 0           | 1
2017-04-26 | 1               | 0           | 0
2017-04-21 | 0               | 0           | 1

等等,等等。

感谢您的宝贵时间

【问题讨论】:

哇,你又快又正确! 【参考方案1】:
df.set_index('Date').interest.str.get_dummies(sep=', ')

【讨论】:

以上是关于使用 pivot_table() 从重复的字符串中创建列 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 pandas 的 crosstab/pivot_table 中使用两个不同的函数?

使用 pivot_table 将一列 dict 聚合到一个 dict 列表中 - Pandas

如何在特定列中添加具有相同字符串值的行,并且不转换数据框? [重复]

网格搜索后如何在 pivot_table 上绘制热图

stack,unstack,groupby,pivot_table的区别

一文看懂透视表pivot_table