2017-09-19 3 views
-1

値:ドロップ行私は任意のNULLですべての行を削除するには問題がないが、私は唯一の特定の行がNULLで落としたいと例えば他人に</p> <p>を保つ

index city  lo  hi 
0 Chicago nan  75 
1 Boston  nan  nan 
2 New York 54  89 
3 Miami  nan  nan 
4 Seattle 49  nan 

だから、私はちょうど5より多くの行を持っていることを覚えておいてください。2 New York 54 89

しかし、私はシカゴとマイアミをドロップしたければどうしますか?どのようにしてその条件を列「都市」に設定するのですか? 、特定の都市のすべての行を見つけ、その後、第1の軸に沿ってisnullを使用して、これらの行でNULLを持つ、元のデータフレームからすべての行を削除するには

index city  lo  hi 
1 Boston  nan  nan 
2 New York 54  89 
4 Seattle 49  nan 
+1

これは意味がありません。ボストンにも「ロン」があります。どうして落とさないのですか?文字通り、ドロップアウトする都市のリストを指定したいのですか?あるいは単に 'lo'や' hi'だけを使いたいのですか? –

+1

「シアトル」の値も入力から出力に変化しました。 –

+0

人、それは単なる例です。私はそれらの値を埋める必要はないので、nullを持つ特定の行を削除したい。私は後で記入するヌルだけを残したいと思います。私が必要としない行をクリアするだけです。 したがって、別の列の条件で指定されたヌルの行を削除したいとします。したがって、この例では、すべての行をnullで削除しないようにします。また、「シカゴ」や「マイアミ」が落ちていて、それにヌルがないことを望んでいない。 市の値を落とすと都合が悪くなります(その必要はありません) nullを含む行を削除すると、すべての行が削除されます(どちらも必要ありません) – chitown88

答えて

2

使用isin:だから私は、で終わるだろう。

cities = ['Miami', 'Boston'] 
idx = df[df.city.isin(['Boston', 'Miami'])].isnull().any(1).index  
df = df.loc[df.index.difference(idx)] 

print(df) 
    index  city lo hi 
0  0 Chicago NaN 75.0 
2  2 New York 54.0 89.0 
4  4 Seattle 49.0 NaN 

index.differenceidxではありませんdf.index内のすべてのインデックス値を返します。

+0

私は欲しくないだろう。どのように私はそれを条件にするのですか?指定された都市とその行のヌルをドロップします... 'マイアミ'の行だけをドロップしますか?したがって、ヌルを持たない「マイアミ」の行を維持する – chitown88

+0

@ chitown88最後に、あなたが望むものを得ました。私の編集を参照してください。次回は、あなたが望むものをよりよく表現する例を使用してください。 –

関連する問題

 関連する問題