计算熊猫中每个DataFrame列中的部分匹配

时间:2018-06-22 07:18:10

标签: python pandas

我有一个数据框,我想在其中计算每列中某个单词的出现。 每个栏位我都可以做:

df['Col1'].str.contains('test').value_couns()

df[df['Col1'].str.contains('test')]['Col1'].count()

我得到特定列的计数。

如何获取所有列? 我希望避免每列都手动进行操作,因为其中有很多。

enter image description here

预期产量

enter image description here

2 个答案:

答案 0 :(得分:1)

一种解决方法, 正如Submi尝试的那样,

print (df.astype(str).apply(lambda x: x.str.contains('test').value_counts()).loc[True].fillna(0)).to_frame().T.reset_index(drop=True)

输出:

   col1  col2  col3
0   1.0   0.0   2.0

答案 1 :(得分:1)

我认为您正在寻找这个:

df.applymap(lambda x: 'test' in str(x)).sum()