我将一些数据从excel导入到dataframe。在excel中,有一些单元格是空白的(而不是空的),即有人从键盘上按下空格来填充excel中的空格,因此没有字符,但仍然是空白的。在dataframe中,我试图用下面的函数来清理它。但清洗后数据并不会显示为NAN。是否有可供使用的功能,以便进行清洗?
df.columns = df.columns.str.strip()发布于 2021-02-26 16:40:23
我不能回复你的评论,因为我没有代表:
如果我对您的理解是正确的,您希望在有空格的地方放置一个NaN值?
我尝试了下面的方法,这似乎是有效的,让我知道这是否有帮助。
import pandas as pd
import numpy as np
df = pd.DataFrame({'Names': ['betty', 'chris',' ', 'steve', 'carly']})
df.loc[df['Names'] == ' '] = np.nan如果需要对每一列进行迭代,可以将df.loc放在一个循环中,如下所示。
df = pd.DataFrame({'Names': ['betty', 'chris',' ', 'steve', 'carly'],'Age':\
['40', ' ', '32', '44', '69']})
for col in df.columns:
df[col].loc[df[col] == ' '] = np.nan发布于 2021-02-26 16:39:34
你确定df.columns = df.columns.str.strip()是你想要的吗?它只更改列名。如果要更改单元格内的值,请考虑replace
df.replace('^\s+$', np.nan, regex=True)https://stackoverflow.com/questions/66389403
复制相似问题