遍历数据框中选定列的行以“清理”每一行

时间:2019-06-13 08:23:05

标签: python pandas dataframe

我想准备用于统计分析的数据,并且在数据集中出现空白问题。我的功能出了什么问题?

这是我使用通常可以解决问题的函数创建的代码。不幸的是,数据帧似乎并非如此。有关数据框的一些背景信息:我要清除的列是“ LOCATION”,其中包含描述地址的字符串。

for i in data.index:
    data.at[i, "LOCATION"] = data.at[i, "LOCATION"].split()
    data.at[i, "LOCATION"] = " ".join(data.at[i, "LOCATION"])

示例行(未清除)'15300 ________ SATICOY______________ST'  * _代表空格

使用split()['15300','SATICOY','ST']后说行

加入'1 5 3 0 0 S A T I C O Y S T'后

在我真正想要将字符串重新连接在一起之前,代码可以正常工作。我的目标是加入由空格分隔的字符串,因此“ 15300 SATICOY ST”。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

无需在此处循环,请将Series.str.replaceregex表达式\s+一起使用(1个或多个空格字符)。将此内容替换为1个空格:

data['LOCATION'] = data['LOCATION'].str.replace('\s+', ' ')

答案 1 :(得分:2)

简单- 做

data["LOCATION"]=data["LOCATION"].str.strip(" ") # this will remove all the trailing and leading spaces
data["LOCATION"]=data["LOCATION"].str.replace('\s+', ' ') #this will remove all the extra spaces.