在 pandas 向量化中添加列

Add column in pandas vectorized

我有一个词频矩阵保存为 pandas 数据帧。

     1000  Merkwürdig  Mindestens  Error  ...  Periode  bildet  30  Button
0       0           0           0      0  ...        0       0   0       0
1       0           1           0      2  ...        0       0   0       0
2       0           0           0      0  ...        0       0   0       0
3       0           0           0      0  ...        0       0   0       0
4       0           0           1      0  ...        0       0   1       0
..    ...         ...         ...    ...  ...      ...     ...  ..     ...
121     0           0           0      0  ...        0       0   0       1
122     0           0           0      0  ...        0       0   0       0
123     0           0           0      0  ...        0       0   0       0
124     0           0           0      0  ...        0       0   0       0

对于我要计算单词出现次数的每一行,在末尾添加一个名为 'count' 的列,并保存每一行的单词计数。

     1000  Merkwürdig  Mindestens  Error  ...  Periode  bildet  30  Button    count
0       0           0           0      0  ...        0       0   0       0        0
1       0           1           0      2  ...        0       0   0       0        3
2       0           0           0      0  ...        0       0   0       0        0

迭代每一行和每一列可能不是最好的解决方案,所以这可以矢量化吗?

可以使用.sum方法

df['count'] = df.sum(axis=1)

Pandas 有一个求和函数,可以满足您的需求 pd.sum()。您将需要设置 axis=1 以告诉它对行而不是列求和。见下文:

df['count'] = df.sum(axis=1)