Python 3.x 熊猫:删除缺少数据的行
我正在使用以下代码删除pandas中缺少数据的一些行:Python 3.x 熊猫:删除缺少数据的行,python-3.x,pandas,Python 3.x,Pandas,我正在使用以下代码删除pandas中缺少数据的一些行: df = df.replace(r'^\s+$', np.nan, regex=True) df = df.replace(r'^\t+$', np.nan, regex=True) df = df.dropna() 但是,数据框中仍有一些单元格看起来是空的。为什么会这样?有什么方法可以去掉带有空/空白单元格的行?谢谢 您可以使用: df = df.replace('', np.nan) 如果希望简化代码,可以通过|连接正则表达式,并使
df = df.replace(r'^\s+$', np.nan, regex=True)
df = df.replace(r'^\t+$', np.nan, regex=True)
df = df.dropna()
但是,数据框中仍有一些单元格看起来是空的。为什么会这样?有什么方法可以去掉带有空/空白单元格的行?谢谢 您可以使用:
df = df.replace('', np.nan)
如果希望简化代码,可以通过|
连接正则表达式,并使用^$
作为空白:
df = pd.DataFrame({'A':list('abcdef'),
'B':['',5,4,5,5,4],
'C':['',' ',' ',4,2,3],
'D':[1,3,5,7,' ',0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
df = df.replace(r'^\s+$|^\t+$|^$', np.nan, regex=True)
print (df)
A B C D E F
0 a NaN NaN 1.0 5 a
1 b 5.0 NaN 3.0 3 a
2 c 4.0 NaN 5.0 6 a
3 d 5.0 4.0 7.0 9 b
4 e 5.0 2.0 NaN 2 b
5 f 4.0 3.0 0.0 4 b
您可以使用:
df = df.replace('', np.nan)
如果希望简化代码,可以通过|
连接正则表达式,并使用^$
作为空白:
df = pd.DataFrame({'A':list('abcdef'),
'B':['',5,4,5,5,4],
'C':['',' ',' ',4,2,3],
'D':[1,3,5,7,' ',0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')})
df = df.replace(r'^\s+$|^\t+$|^$', np.nan, regex=True)
print (df)
A B C D E F
0 a NaN NaN 1.0 5 a
1 b 5.0 NaN 3.0 3 a
2 c 4.0 NaN 5.0 6 a
3 d 5.0 4.0 7.0 9 b
4 e 5.0 2.0 NaN 2 b
5 f 4.0 3.0 0.0 4 b
根据您的熊猫版本,您可以执行以下操作: DataFrame.dropna(axis=0,how='any',thresh=None,subset=None, inplace=False)轴:{0或'index',1或'columns',默认为0 确定是否删除包含缺少值的行或列 0或“索引”:删除包含缺少值的行。 1或“列”:删除包含缺少值的列
Deprecated since version 0.23.0:: Pass tuple or list to drop on multiple
斧头
因此,现在我们要删除具有空值的行
df = df.dropna(axis=0)
根据您的熊猫版本,您可以执行以下操作: DataFrame.dropna(axis=0,how='any',thresh=None,subset=None, inplace=False)轴:{0或'index',1或'columns',默认为0 确定是否删除包含缺少值的行或列 0或“索引”:删除包含缺少值的行。 1或“列”:删除包含缺少值的列
Deprecated since version 0.23.0:: Pass tuple or list to drop on multiple
斧头
因此,现在我们要删除具有空值的行
df = df.dropna(axis=0)
应该可以工作你能给我们看看数据帧的样本吗,这样我们就可以重现关于
df=df.replace(''',np.nan)
的问题吗?就像@jezrael所说的,试着把df=df.replace(''',np.nan,regex=True)
添加到你的dropna
之前code@jezrael:add df=df.replace(“”,np.nan)起作用。谢谢你能给我们看一下数据帧的样本吗?这样我们就可以重现关于df=df.replace(''',np.nan)
的问题吗?就像@jezrael说的,试着把df=df.replace(''',np.nan,regex=True)
添加到你的dropna
之前code@jezrael:add df=df.replace(“”,np.nan)起作用。谢谢可能重复的