Pandas数据框:绘制逗号分隔字符串

时间:2017-06-30 14:42:35

标签: python-2.7 pandas

在我的数据集中,我有一个主题列,它是由昏迷分隔的字符串。

df = pd.DataFrame({'Stats': [3377, 1843, 15234], 'Topics': ["A, B, C, D", "A, B", "C, D"]})

enter image description here

我需要的是绘制每个主题的平均统计数据(A,B,C,D)。像这样:

enter image description here

有人能提出一个明智的做法吗?

1 个答案:

答案 0 :(得分:2)

我不确定你想要的输出是什么,但这应该会让你朝着正确的方向前进。关键是要拆分主题,然后你可以做任何你想要的分析。

df2 = pd.DataFrame([(row.Stats, topic.strip()) 
                    for _, row in df.iterrows() 
                    for topic in row.Topics.split(',')], 
                   columns=['Stats', 'Topic'])
>>> df2.groupby('Topic').Stats.mean()
Topic
A    2610.0
B    2610.0
C    9305.5
D    9305.5
Name: Stats, dtype: float64

>>> df2.head()
   Stats Topic
0   3377     A
1   3377     B
2   3377     C
3   3377     D
4   1843     A