2017-07-04 9 views
2

は、私は2列のパンダのデータフレームがあるとします。ユニークな値

df: Col1 Col2 
     1  1 
     1  2 
     1  2 
     1  2 
     3  4 
     3  4 

それから私は、これら2つの列の唯一のユニークなカップルの値(COL1、COL2)を維持し、彼らを与えたいですfrequncy:

df2: Col1 Col2 Freq 
     1  1  1 
     1  2  3 
     3  4  2 

私はdf['Col1', 'Col2'].value_counts()を使用すると思いますが、それは1列のみのために働きます。 多くの列を処理する関数はありますか?

+2

'df.groupby(['Col1'、 'C​​ol2'])。size()'? – Zero

答えて

6

を与えます+ reset_index

df = df.groupby(['Col1', 'Col2']).size().reset_index(name='Freq') 
print (df) 
    Col1 Col2 Freq 
0  1  1  1 
1  1  2  3 
2  3  4  2 
1

あなたはジェズの答えと比較して異なる視覚出力用

df.groupby(['Col1', 'Col2']).size() 

を試みることができる、あなたは

pd.DataFrame(df.groupby(['Col1', 'Col2']).size().rename('Freq')) 

とそのsoltuionを拡張することができgroupby + sizeが必要

  Freq 
Col1 Col2  
1 1  1 
    2  3 
3 4  2