【发布时间】:2019-07-26 00:48:53
【问题描述】:
我从多个 csv 文件和数据库中提取了数据。我希望使用合并函数来创建一个数据框,以隔离两个数据框中包含的电话号码(一个来自 csv,另一个来自数据库)。但是,数据库中的数据框显示为“nonetype”类型。这不允许任何操作,例如合并。我怎样才能改变它以允许操作?
数据以元组列表的形式从数据库中传入。然后我将其转换为数据框。但是,如上所述,它显示为“无类型”。我假设目前我对数据框如何处理数据类型感到困惑。
#抓取数据
mycursor = mydb.cursor()
mycursor.execute("SELECT DISTINCT(Cell) FROM crm_data.ap_clients Order By Cell asc;")
apclients = mycursor.fetchall()
#清理电话号码数据
for index, row in data.iterrows():
data['phone_number'][index] = data['phone_number'][index][-10:]
for index, row in data2.iterrows():
data2['phone_number'][index] = data2['phone_number'][index][-10:]
for index, row in data3.iterrows():
data3['phone_number'][index] = data3['phone_number'][index][-10:]
#从csv文件制作数据框
fbl = pd.concat([data,data2,data3], axis=0, sort=False)
#make data frame from apclients(数据库提取)
apc = pd.DataFrame(apclients)
#perfrom 合并查找两个帧中的所有记录
successfulleads= pd.merge(fbl, apc, left_on ='phone_number', right_on='0')
#type(apc) 返回无类型
预期的结果是找到两个数据框中的所有记录以及计数,以便我可以比较这两个集合。非常感谢这个伟大社区的任何帮助:)
【问题讨论】:
标签: mysql python-3.x pandas dataframe