2017-11-06 150 views
1

こんにちは、データフレームの一意の値の数を取得したいと考えています。 count_valuesはこれを実装していますが、私はその出力をどこか別のものに使いたいと思います。 .count_valuesの出力をpandasデータフレームに変換するにはどうすればいいですか?ここでのサンプルコードは、次のとおりです。Python Pandas: ".value_counts"の出力をデータフレームに変換する

import pandas as pd 
df = pd.DataFrame({'a':[1, 1, 2, 2, 2]}) 
value_counts = df['a'].value_counts(dropna=True, sort=True) 
print(value_counts) 
print(type(value_counts)) 

出力は次のようになります。

unique_values counts 
2    3 
1    2 

ありがとう:

2 3 
1 2 
Name: a, dtype: int64 
<class 'pandas.core.series.Series'> 

は私が必要なのは、このようなデータフレームです。

答えて

2

から列の名前の使用rename_axis指標とreset_index

df = value_counts.rename_axis('unique_values').reset_index(name='counts') 
print (df) 
    unique_values counts 
0    2  3 
1    1  2 

場合、または必要性1つの列データフレームを使用Series.to_frame

df = value_counts.rename_axis('unique_values').to_frame('counts') 
print (df) 
       counts 
unique_values   
2     3 
1     2 
関連する問題