pandas concat函数如何在不指定公共键的情况下进行列联接?

2024-05-15 05:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

向我亲爱的Python同胞们问好!在

今天,当我在参加一个关于数据营地的Python课程时,一个简单的数据连接帕金森病()对我真的很勇敢。我似乎不明白加入背后的逻辑。我需要你的帮助!在

考虑下面的例子,这是一个简化版本,我们想使用帕金森病()连接这两个表:

表A:

Date        Day        status_country        counts
1/5/2015    289        Cases_Guinea          2776.0
1/4/2015    288        Cases_Guinea          2775.0
1/3/2015    287        Cases_Guinea          2769.0
1/2/2015    286        Cases_Guinea             NaN
12/31/2015  284        Cases_Guinea          2730.0

表B:

^{pr2}$

Python代码:

pd.concat([ebola_melt, status_country], axis = 1)

返回数据:

Date        Day        status_country        counts    status    country
1/5/2015    289        Cases_Guinea          2776.0     Cases     Guinea
1/4/2015    288        Cases_Guinea          2775.0     Cases     Guinea
1/3/2015    287        Cases_Guinea          2769.0     Cases     Guinea
1/2/2015    286        Cases_Guinea             NaN     Cases     Guinea
12/31/2015  284        Cases_Guinea          2730.0     Cases     Guinea

问题:

显然,这两个表之间并没有共同的索引,除非您解析表A中的“status_country”列,然后将其与表B相匹配,但我不确定这个函数是否足够聪明。在

这个函数背后是什么样的匹配逻辑?在

它是进行部分匹配还是先解析再匹配?在

我怎么理解?在


Tags: 数据函数datestatus逻辑nancountry例子
1条回答
网友
1楼 · 发布于 2024-05-15 05:34:02

pd.concat基于index

例如你有

df1=pd.DataFrame({'A':[1,2,3,4]})
df2=pd.DataFrame({'A':[1,2,3,4]},index=[2,3,4,5])

当您执行concat操作时,您是按索引执行join,或是按索引merge

^{pr2}$

相关问题 更多 >

    热门问题