2017-03-07 16 views
1

データがあり、小さなサンプルサイズの列(例:<の合計行数)の列ヘッダーを取得したいとします。おそらくリストやデータフレームとして返されたリストをどのように入手するのですか?パンダ:特定の条件を満たす列の列ヘッダーを返します。

以下の例では、FieldCを出力したいと思います。

train_df.head()を使用する:

<class 'pandas.core.frame.DataFrame'> 
RangeIndex: 2000 entries, 0 to 1999 
Data columns (total 100 columns): 
Id    2000 non-null int64 
FieldA   2000 non-null int64 
FieldB   2000 non-null object 
FieldC   1675 non-null float64 
FieldD   2000 non-null int64 
FieldE   2000 non-null object 
...more fields... 

train_df.count()<2000*0.9を使用する:

Id    False 
FieldA   False 
FieldB   False 
FieldC   True 
FieldD   False 
FieldE   False 
...more fields... 
+0

が見えますか? 'train_df [train_df.count()<2000 * 0.9] .index' – DyZ

+0

@DYZご意見ありがとうございます。私もそれを試みましたが、 'IndexingError:Unalignable boolean Series key provided'のエラーが発生しました –

+0

申し訳ありません。 'train_df.count()[train_df.count()<2000 * 0.9] .index'でなければなりません。あるいは、より効率的に、 'count = train_df.count(); count [count <2000 * 0.9] .index'。 – DyZ

答えて

0

私はあなたが行うことができると思う:あなたが行ヘッダではなく、列のヘッダーをしたいよう

columnsToBeReturn=[] 
max=df.shape[0] #getting the shape of the entire dataframe so the biggest number of rows 
for col in df.columns: 
    if len(df[col])<max*0.9: 
     columsToBeReturn.append(col) 
return columnsToBeReturn 
関連する問題