2017-06-21 57 views
0

我正在嘗試計算在dataframe行子部分中有多少個值。值實際上是字符串,所以即使數1或-1也不行。因此,我將數值轉換爲'a','b'和'c'。在下面的例子中:大熊貓,Python:在df行分部分中發生次數

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的每行的值。 我看過各種答案,包括here。我還嘗試通過以下內容添加小節:df1["a"] = df1[COL3:COL4], count(a) 感謝您的建議。

+0

爲了更加清晰,您能否爲給定數據框提供預期輸出? – akilat90

+0

@ akilat90:艾倫反應所顯示的預期輸出格式看起來不錯,因爲我想要計算出現的次數 – user1739581

回答

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