2017-11-23 23 views
0

読み取り後、pandas read_excelでExcelを読み取ると、型文字列 'nan'を持つ行が表示されます。試みている。ここ列名で 'nan'の行を削除するPandasデータフレーム

::私はここで説明するすべての利用可能な方法を使用してそれらをドロップしようとしたが、それが動作しないように思える

df.dropna(subset=['A'], inplace=True)

私はこれが働くだろうと思った

、それは数を削減しました私たちは、replace「ナン」最初は、その後を使用することができます'nan'

df = df[df.A.str.match('nan') == False]

+0

可能な複製を文字列すなわちされているので、それを行うためのより良い方法は、ブールインデックスでありますどのようにnans(python)を取り除くかを理解する](https://stackoverflow.com/questions/46610007/dropna-isnt-dropping-fillna-isnt-filling-and-my-list-comprehension-cant-comp) –

答えて

1

を持っている行を削除せずに、データフレームから行

df.replace({'A':{'nan':np.nan}}).dropna(subset=['A'], inplace=True) 
0

彼らは[Dropnaがfillnaが充填されていないと、私のリストの内包ができない、落下されていないの

df = pd.DataFrame({"A":['nan',1,2,3],'B':[1,2,3,'nan']}) 

# To remove 'nan's from only A 
print(df[(df.A!='nan')]) 

# A B 
#1 1 2 
#2 2 3 
#3 3 nan 


#For removing all the rows that hold `nan` 
print(df[(df!='nan').all(1)]) 
# A B 
#1 1 2 
#2 2 3 
+0

これは列に関係なく削除されますが、列Aにはそれがある場合にのみ削除する必要があります –

+0

投稿した最初のオプションに行くことができます – Dark

関連する問題