什么时候合并与连接两个熊猫数据帧是明智的?

假设有两个数据帧共享相同的索引但具有不同的列。在这里合并两个数据帧还是连接更聪明?


import pandas as pd

from pandas import DataFrame


df1 = DataFrame(index = ['hey', 'yo'], columns = ['gee', 'thanks'], data = [[1,'foo'],[6,'rhy']]) 

df2 = DataFrame(index = ['hey', 'yo'], columns = ['youre', 'welcome'], data = [[8,'fotb'],[3,'yuo']])


#using merging

df3_merge = df1.merge(df2,left_index = True, right_index = True)  


#result:      

#             gee  thanks  youre  welcome

# hey          1    foo      8    fotb

# yo           6    rhy      3     yuo


#using concatenate

df3_concat = pd.concat([df1,df2], axis = 1)  


#result:      

#             gee  thanks  youre  welcome

# hey          1    foo      8    fotb

# yo           6    rhy      3     yuo


这个链接激发了这个问题。通常我总是使用,但我对别人使用或思考的东西感到好奇。concat


Smart猫小萌
浏览 90回答 1
1回答

慕丝7291255

我认为这取决于,需要什么。默认情况下,在 DataFrame.merge 中是联接,但可以将其更改为 或 。innerouterrightleftdf3_merge = df1.merge(df2,left_index = True, right_index = True)在 concat 中默认为外连接,但可以将其更改为仅按参数:innerinnerdf3_concat = pd.concat([df1,df2], axis = 1)此外,如果需要数据帧的加入列表,更简单,更快捷的方法。concat如果想要左联接,就不能使用,因为没有实现。concat有关连接的更多信息。有关合并的详细信息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python