首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫合并pd.read_csv -不一致的数据返回

熊猫合并pd.read_csv -不一致的数据返回
EN

Stack Overflow用户
提问于 2022-08-21 03:54:25
回答 2查看 47关注 0票数 -1

我的问题是,我可以合并数据,但只能从特定的数据集。目标是将客户中断地图的数据与ISP合并。为了演示目的,我已经编辑了这些数据,使其成为通用的。

df1是来自计费系统的客户数据,包括名称、地址等。

df2是具有ONT SN和ONT状态的电子设备数据。

df2_Sub是从df2获取的数据子集,该数据将填充"ifOper“列,尽管df2的完整数据集将留下"ifOper”空白。

以下是每个数据集的外观

df1数据集

df2数据集

如果我注释掉了df2并使用了df2_Sub,我得到了以下内容:

Sub

否则,我使用更大的数据集,它添加"ifOper“列,但不添加数据。

在任何一个数据集上,“左”连接都会发生同样的情况,我得到列,但没有数据。

merge.dtypes也为两个数据集返回相同的类型。

任何建议都将不胜感激!

代码语言:javascript
复制
import pandas as pd

df1 = pd.read_csv("CX_Info.csv")
df2 = pd.read_csv("ONT_Status.csv")
#df2_Sub = pd.read_csv("Subset_ONT_Status.csv")


#merge = pd.merge(df1, df2, how="inner", on="ONT")
#merge.sort_values(by=['ONT'], inplace=True)

merge = pd.merge(df1, df2, left_on='ONT', right_on='ONT', how='left')

merge.reset_index(drop=True)
merge.reindex(axis = 0)

print(merge)
merge.to_csv('new_df.csv', index=False)

添加pd.to_dict()以供参考

df1

代码语言:javascript
复制
{
'ONT': 'ADTN20074B3C', 
'SERV_TYPE': 'RESIDENTIAL INTERNET                              ', 'ACCOUNT STATUS': 'CONNECTED', 
'MBRSEP': 555555, 
'NAME': 'CUSTOMER ONE               ', 
'SVC_ADDRESS': '223 COUNTY HWY 598          ', 
'CITY': 'JACKSON', 
'COUNTY': 'JEFFERSON                                            ', 'STATE': 'MS                                                ', 'ZIP': 55555, 
'PLANNAME': 'RESIDENTIAL 1 GIG', 
'LATITUDE': 23.97445452, 
'LONGITUDE': -54.774681}


df2
247: {'ONT': 'ADTN200052C3', 'ifOper': 'up'}, 248: {'ONT': 'ADTN19092222', 'ifOper': 'up'}, 249: {'ONT': 'ADTN18204592', 'ifOper': 'down'}

df2_sub

{0: {'ONT': 'ADTN19161620', 'ifOper': 'up'}, 1: {'ONT': 'ADTN19161397', 'ifOper': 'up'}, 2: {'ONT': 'ADTN19161350', 'ifOper': 'down'}, 3: {'ONT': 'ADTN19161216', 'ifOper': 'up'}, 4: {'ONT': 'ADTN185011e9', 'ifOper': 'up'}, 5: {'ONT': 'ADTN185011cc', 'ifOper': 'down'}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-13 18:31:00

创建此问题是因为我的合并语句中有一个重复的数据框架。在删除重复并添加正确的df后,获得了所需的结果。

票数 0
EN

Stack Overflow用户

发布于 2022-08-21 17:16:19

时间太长,暂时不能发表评论,可以稍后删除。

我试着运行以下代码,但无法从图像中复制任何数据格式。最后一个错误。请确保您可以使用from_dict反向生成您希望我们使用的数据。

代码语言:javascript
复制
import pandas as pd

df2 = pd.DataFrame.from_dict({247: {'ONT': 'ADTN200052C3', 'ifOper': 'up'}, 248: {'ONT': 'ADTN19092222', 'ifOper': 'up'}, 249: {'ONT': 'ADTN18204592', 'ifOper': 'down'}, })
df2_sub = pd.DataFrame.from_dict({0: {'ONT': 'ADTN19161620', 'ifOper': 'up'}, 1: {'ONT': 'ADTN19161397', 'ifOper': 'up'}, 2: {'ONT': 'ADTN19161350', 'ifOper': 'down'}, 3: {'ONT': 'ADTN19161216', 'ifOper': 'up'}, 4: {'ONT': 'ADTN185011e9', 'ifOper': 'up'}, 5: {'ONT': 'ADTN185011cc', 'ifOper': 'down'}})

df1 = pd.DataFrame.from_dict({'ONT': 'ADTN20074B3C',
'SERV_TYPE': 'RESIDENTIAL INTERNET',
'ACCOUNT STATUS': 'CONNECTED', 
'MBRSEP': 555555, 
'NAME': 'CUSTOMER ONE', 
'SVC_ADDRESS': '223 COUNTY HWY 598',
'CITY': 'JACKSON',
'COUNTY': 'JEFFERSON',
'STATE': 'MS',
'ZIP': 55555, 
'PLANNAME': 'RESIDENTIAL 1 GIG', 
'LATITUDE': 23.97445452, 
'LONGITUDE': -54.774681})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73431517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档