Pandas,Python:计算df行子节中的出现次数

时间:2017-06-21 04:27:32

标签: python pandas

我正在尝试计算数据帧行子部分中有多少个值。值实际上是字符串,因此即使计数1或-1也不起作用。因此我将值切换为' a'' b'并且' c'。在下面的例子中:

COL1  COL2  COL3  COL4  'a'  'b'  'c' # last 3 columns abc would count occurences
a     c     b     c
c     a     a     b
c     b     c     b

然而,我只是在COL3和COL4小节中尝试计算每行的值。 我在SO处查看了各种答案,包括here。我还试图通过以下方式包括一个小节:df1["a"] = df1[COL3:COL4], count(a) 谢谢你的建议。

1 个答案:

答案 0 :(得分:2)

这就是你想要的吗?

您可以使用value_counts计算第3列和第3列中的元素出现次数,然后将计数df连接到原始df。

pd.concat([df,\
           df[['COL3','COL4']].apply(lambda x: x.value_counts(),axis=1).fillna(0)],\
           axis=1)
Out[13]: 
  COL1 COL2 COL3 COL4    a    b    c
0    a    c    b    c  0.0  1.0  1.0
1    c    a    a    b  1.0  1.0  0.0
2    c    b    c    b  0.0  1.0  1.0