パンダのデータフレームがあります。その列の1つの一意の値を昇順で出力したいと思います。これは私がそれをしている方法です:
import pandas as pd
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
print a.sort()
問題はNone
、出力用にを取得していることです。
回答:
sorted
iterableのアイテムから新しいソート済みリストを返します。
コード
import pandas as pd
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
print sorted(a)
出力
[1, 2, 3, 6, 8]
sort
インプレースでソートするため、何も返しません。
In [54]:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
a.sort()
a
Out[54]:
array([1, 2, 3, 6, 8], dtype=int64)
したがって、への呼び出しprint a
後に再度呼び出す必要がありますsort
。
例えば。:
In [55]:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].unique()
a.sort()
print(a)
[1 2 3 6 8]
unique()の代わりにdrop_duplicates()を使用することもできます
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
a = df['A'].drop_duplicates()
a.sort()
print a
drop_duplicates()
[0.18パンダ]速くユニークより()14107693行のデータフレームに3倍に
私はワンライナーが好きです:
print(sorted(df['Column Name'].unique()))
別の方法は、セットデータ型を使用することです。
セットのいくつかの特徴:セットは順序付けられておらず、混合データ型を含めることができ、セット内の要素を繰り返すことはできず、変更可能です。
あなたの質問を解決する:
df = pd.DataFrame({'A':[1,1,3,2,6,2,8]})
sorted(set(df.A))
リストタイプの答え:
[1, 2, 3, 6, 8]
a.sort()
修正a
などによって置き換える何も返しません:a.sort(); print a