我正试图用.dropna()
方法从pandas
中删除特定的NA
格式,但在应用它时,该方法会返回None
对象。
import pandas as pd
# importing data #
df = pd.read_csv(path, sep=',', na_values='NA')
# this is how the df looks like
df = {'col1': [1, 2], 'col2': ['NA', 4]}
df=pd.DataFrame(df)
# trying to drop NA
d= df.dropna(how='any', inplace=True)
此代码返回一个None
对象,预期输出可能如下所示:
# col1 col2
#0 2 4
我该如何调整这种方法?
有没有更简单的方法来完成这项任务?
import numpy as np
import pandas as pd
首先,通过 最后: 现在,如果你打印 如果您想要与您在问题中提到的完全相同的输出,那么只需使用 现在,如果您打印replace()
方法将数据帧中的'NA'值替换为实际的'NaN'df=df.replace('NA',np.nan,regex=True)
df.dropna(how='any', inplace=True)
df
,你会得到你想要的输出:col1 col2
1 2 4.0
reset_index()
方法:df=df.reset_index(drop=True)
df
,您将获得:col1 col2
0 2 4.0
使用字符串'NA'
删除记录
df[~df.eq('NA').any(1)]
col1 col2
1 2 4