Python 将单词分开,在列中计数,然后在两个单词中分开

Python 将单词分开,在列中计数,然后在两个单词中分开,python,pandas,Python,Pandas,我有一个数据集: 话 计数 你好,世界 世界,%,你好,德国 德国,100毫升,德国 您可以为此使用: >>> df Words 0 Hello,World 1 World,%,Hello 2 Germany,100,ML >>> pd.Series(Counter(','.join(df.Words).split(',')), name='count').rename_axis(df.co

我有一个数据集:

话 计数 你好,世界 世界,%,你好,德国 德国,100毫升,德国 您可以为此使用:

>>> df
            Words
0     Hello,World
1   World,%,Hello
2  Germany,100,ML

>>> pd.Series(Counter(','.join(df.Words).split(',')), 
              name='count').rename_axis(df.columns[0]).reset_index()

     Words  count
0    Hello      2
1    World      2
2        %      1
3  Germany      1
4      100      1
5       ML      1
时间:

>>> %timeit pd.DataFrame(df['Words'].str.split(',').explode().value_counts()).reset_index().rename({'index':"Words","Words":"Count"},axis=1)
1.53 ms ± 30.3 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

>>> %timeit pd.Series(Counter(','.join(df.Words).split(',')), name='count').rename_axis(df.columns[0]).reset_index()
873 µs ± 15 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

您不能在熊猫中使用字符串模块:

df['Words'].str.split(',').explode().value_counts()
输出:

Hello      2
World      2
Germany    1
%          1
ML         1
100        1
Name: Words, dtype: int64
    Words   Count
0   Hello   2
1   World   2
2   Germany 1
3   %       1
4   ML      1
5   100     1
要使其成为数据帧,请执行以下操作:

pd.DataFrame(df['Words'].str.split(',').explode().value_counts()).reset_index().rename({'index':"Words","Words":"Count"},axis=1)
输出:

Hello      2
World      2
Germany    1
%          1
ML         1
100        1
Name: Words, dtype: int64
    Words   Count
0   Hello   2
1   World   2
2   Germany 1
3   %       1
4   ML      1
5   100     1

可以使用上述方法,而且它们是有效的

使用
str.dummies
df.sum

df['Words'].str.get_dummies(",").sum()

%          1
100        1
Germany    1
Hello      2
ML         1
World      2
dtype: int64

来自集合导入计数器的

data=“,”.join(df[“Words”].tolist())
计数器=计数器(data.split(“,”))
新的数据帧(dict(计数器))

方法不错@阿迪拉巴吉尔谢谢你。。!