使用 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
如何在特定列中添加具有相同字符串值的行,并且不转换数据框? [重复]