我正在导入以下数据库,并尝试创建一个名为“ street”的新列,该列将一个数字列和一个字符串列连接在一起。但是我得到“ AttributeError”。该数据库如下所示:
下面是我的代码:
import pandas as pd
path_to_data = "C:\\Users\\BI Dashboard\\"
data_file_name = 'Flint_Water_Residential_Testing_revised.csv'
dat = pd.read_csv(path_to_data + data_file_name, encoding= "ISO-8859-1")
dat.rename(columns={'Sample Number':'sample_number','Date Submitted':'date_submitted','Analysis (Lead)':'lead_analysis',
'Lead (ppb)':'lead_ppb','Analysis (Copper)':'copper_analysis', 'Copper (ppb)':'copper_ppb',
'Street #':'street_number', 'Street Name':'street_name','City':'city','Zip Code':'zip_code'}, inplace=True)
dat['sample_number'].fillna(' ', inplace=True)
dat['street_number'].fillna(' ', inplace=True)
dat['street_name'].fillna(' ', inplace=True)
dat['city'].fillna('FLINT', inplace=True)
dat['zip_code'].fillna(' ', inplace=True)
dat['state'] = 'MI'
dat['street'] = dat['street_number'].str.cat(dat['street_name'], sep=' ')
从代码的最后一行得到的错误代码是:
我想这是在抱怨“ street_number”列不是字符串。有人可以告诉我如何解决吗?
非常感谢!
最佳答案
您的street_number
列是整数类型。您需要将其转换为字符串。您可以使用df.astype
来做到这一点:
dat['street'] = dat['street_number'].astype(str).str.cat(dat['street_name'], sep=' ')
关于python - 尝试在数据帧中连接两列时出现“AttributeError”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45450495/