Python通过内连接合并Pandas数据集有两个字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python通过内连接合并Pandas数据集有两个字段相关的知识,希望对你有一定的参考价值。
我是社区内的全新人选,所以我希望你能有点耐心。我试图通过在“邮政编码”和“日期”字段上使用内部联接来合并两个数据集。 orgininal代码将是这样的:
Datapump = pd.merge(hack, health, how='inner', left_on=['Date', 'CP'], right_on=['Creation', 'cp'])
但问题是,每当我尝试执行头部时,我会得到一个空数据集,而在执行样本的情况下,我会得到最差的错误:所以我将hack字段'Date'和健康字段'Creation'作为索引。然后我去参加。
Datapump = pd.merge(hack, health, how='inner', left_index=True, right_index=True)
不幸的是,我还需要现场邮政编码。所以我在下面的点Datapump = pd.merge(hack, health, how='inner', left_on=['CP'], right_on=['cp'])
做另一次加入
现在我可以得到样本和头部,但是根据我的说法,任何事情都会变得奇怪,特别是一旦我看到新数据集的条目数量:
<class 'pandas.core.frame.DataFrame'>
Int64Index:803206条目,0到803205数据列(共15列):CP 803206非空对象Tipo Contaminante 803206非null int64 Valor 803206非null float64已验证803206非null对象nombre 803206非null对象edad 801296非-null object cp 803206非null对象patologia 802387非空对象创建803206非null datetime64 [ns] Edad_Cat 786829非null类别持续时间772661非null timedelta64 [ns] Duration_Seconds 772661非null float64 weekdays_created 803206非null int64 month 803206非null float64 cat_month 803206非null int64 dtypes:category(1),datetime64ns,float64(3),int64(3),object(6),timedelta64ns内存使用情况:92.7+ MB
实际上,在健康状况之前,大约有9000个条目并且大约有6000个条目。不能通过执行内连接来获取803.206条目的数据集。
如何以能够提供有意义且合理的结果的方式进行内部联接?
非常感谢耐心。
安德里亚
最终我能够解决这个问题。问题是由于数据框内存在问题。我打开orginial csv文件并手动清理有问题的行。然后我重新导入新文件,我就能够进行连接。此致,安德烈
以上是关于Python通过内连接合并Pandas数据集有两个字段的主要内容,如果未能解决你的问题,请参考以下文章
Python使用pandas读取两个或者多个excel文件(xlsx)并进行数据连接(join)合并两个或者多个excel的信息