我有2个数据框。
df:
portfolio symbol id var1 var2 var3
df1.我想从df1中添加部门和市场这两列数据。
symbol sector market count
我想把df1中的部门和市场列添加到df中。df1的符号值是唯一的,因此数据框比df小,而df是原始数据框。
我试着做了.NET,但输出的结果是比原来的数据框扩展了行。
pd.merge(df,df1,on='symbol',how='outer')
但输出的行数比预期的要多。有谁能帮帮我,这里漏掉了什么。
谢谢你的帮助
你有没有试过做一个内部连接。
df.merge(df1, on='symbol', how='inner')
如果你做一个外部连接,行数将是两个列中较长的列(符号列)所拥有的行数,因此是来自df的行数。如果你只想要唯一符号值的数量,你应该使用内连接。
我很抱歉,我没有意识到,如果在第一个数据框中没有,外部连接也会为第二个数据框的值创建行,这就是为什么我得到额外行的原因,为了消除这一点,我添加了df7 = df.dropna(subset=['symbol'])