2017-07-18 5 views
0

これは私を殺している!ループからリストへの変換の変換?

これをリストの理解度に変換する方法はありますか?

for x in dataframe: 
    if dataframe[x].value_counts().sum()<=1: 
     dataframe.drop(x, axis=1, inplace=True) 
+0

'dataframe'を使用すると、これは' pandas'と思われますか?それはあなたが使っているものですか? '落ちる 'とは何ですか?実際にリストを修正していますか?そうでない場合は、新しいリストを作成するデータをどこで収集していますか? – idjaw

+2

それは本当にリストの理解のために適切ではありません...あなたはそれがそのように見せたい理由はありますか? (データを返すわけではありませんが、オブジェクトを何度も何度も変更しています)。 –

答えて

1

[dataframe.drop(x, axis=1, inplace=True) for x in dataframe if dataframe[x].value_counts().sum() <= 1]

私はまだパンダを使用していないが、dataframe.drop上のドキュメントには、それが新しいオブジェクトを返すと言うので、私はそれが動作すると仮定します。

0

私はおそらく、私はあなたのデータフレームを知らないが、このような何かが動作するはずです、他の道を行くと、それをフィルタリングすることを示唆している:

counts_valid = df.T.apply(pd.value_counts()).sum() > 1 
df = df[counts_valid] 

それとも、私はあなたが何をしているかを見れば、あなたがかもしれより良い

counts_valid = df.T.nunique() > 1 
df = df[counts_valid] 

これは、複数の一意の値を持つ行を保持するだけです。

関連する問題