组合Pandas中的两个数据帧

2024-06-16 10:19:59 发布

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

我有两个数据帧:

df:

portfolio  symbol  id  var1  var2  var3 

df1:

symbol  sector  market  count 

我想将行业和市场列从df1添加到df。df1具有符号的唯一值,因此数据帧比原始数据帧df更小

我试着做:

pd.merge(df,df1,on='symbol',how='outer')

但输出超出了预期。谁能帮我弄清楚这里遗漏了什么

谢谢


Tags: 数据iddf市场count符号symbolmarket
3条回答

很抱歉,我没有意识到如果在第一个数据帧中不可用,外部联接也会为第二个数据帧值创建行。这就是为什么我得到了额外的行,为了删除这些行,我添加了df7=df.dropna(subset=['symbol'])

如果进行外部联接,则行数将是两个(符号列)中较长列的行数,因此是来自df的行数。如果只需要唯一符号值的数量,则应使用内部联接

你试过做内部连接吗

df.merge(df1, on='symbol', how='inner')

相关问题 更多 >