python - `AttributeError` 尝试连接数据框中的两列时

标签 python pandas dataframe

我正在导入以下数据库,并尝试创建一个名为“street”的新列,该列连接一个数字列和一个字符串列。但是我收到了“AttributeError”。数据库如下所示:

enter image description here

下面是我的代码:

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=' ')

我从代码的最后一行得到的错误代码是:

enter image description here

我猜它试图提示“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/

相关文章:

python - 将函数应用于分组 Pandas 数据框中的列并将输出作为新列返回

python - 如何在新数据框中保留原始索引

python - 有没有办法将先前计算的行值与 Pandas Dataframe 中不同列的总和一起使用?

python - 无法更新 anaconda

python - Tensorboard 分析器 : Failed to load libcupti (is it installed and accessible? )

r - 将列表中的所有名称保留到 data.frame

python - 如何将索引 1 处特定列的值分配给新变量

python - 基于分组创建pandas列

python - 使用python多线程不断获取输入

python - 在python中组织点数组