2017-06-21 7 views
0

データフレームの行サブセクションにある値の数をカウントしようとしています。値は実際には文字列なので、1または-1をカウントしても機能しません。そこで私は値を 'a'、 'b'、 'c'に切り替えました。以下の例では:Pandas、Python:df行サブセクションのcount occurences

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:Allenの応答で示される期待される出力形式はよく見えます。なぜなら、発生回数を数えたいからです – 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 
関連する問題