2017-05-24 8 views
2

私は'Unknown'としてインデックス行と'Unknown」という名前の列の両方をドロップすることを計画しています。このドロップ同時に行と列のパンダDATAFRAME

Victim Sex  Female Male Unknown 
Perpetrator Sex       
Female   10850 37618  24 
Male    99354 299781  92 
Unknown   33068 156545  148 

のようなものであるデータフレームを持っています。私は行と列を削除する方法を知っていますが、私はあなたがパンダで同時に行と列を削除できるかどうか疑問に思っていましたか?はいの場合、どうすればできますか?

答えて

3

これは仕事をするはずですが、実際には同時にではありませんが、中間オブジェクトは返されません。具体的な例については、これ

df.drop("Unknown", axis=1).drop("Unknown", axis=0) 

df = pd.DataFrame([[1,2],[3,4]], columns=['A', 'B'], index=['C','D']) 
print(df) 
    A B 
C 1 2 
D 3 4 

コール

df.drop('B', axis=1).drop('C', axis=0) 

戻り

A 
D 3 
2

私は最も近い'at the same time'locによって選択だと思いますし、 difference

print (df.index.difference(['Unknown'])) 
Index(['Female', 'Male'], dtype='object') 

print (df.columns.difference(['Unknown'])) 
Index(['Female', 'Male'], dtype='object') 

df = df.loc[df.index.difference(['Unknown']), df.columns.difference(['Unknown'])] 
print (df) 
Victim Sex  Female Male 
Perpetrator Sex     
Female   10850 37618 
Male    99354 299781 
関連する問題