我有以下两个数据帧,它们是一个大型数据集的片段:
df1:
date key number
2000 1 50
2001 1 40
2000 2 600
2001 2 650
df2:
key key2
1 A
2 B
3 C
我想将key2列添加到与“key”匹配的df1列。结果应如下所示:
date key number key2
2000 1 50 A
2001 1 40 A
2000 2 600 B
2001 2 650 B
为此,我使用以下命令:
result = pd.merge(df1, df2, how="left", on="key")
但是,这也会将key2“C”添加到数据集,我不想添加它。我只希望基于df1的键将变量key2附加到df1。应该删除df2中与df1中的键不匹配的信息。因此,我的结果dataframe应该比df1多出一列和确切的行数。你知道吗
有人知道为什么合并“left”在这里不起作用吗?因为如果我这样运行代码,我的结果dataframe会比df1多出一列(如所需),但行也比df1多,这是我不想要的。你知道吗
谢谢你的回复。我实际上是通过:
我不知道为什么这不能产生与合并相同的结果。。。你知道吗
您可以使用
pd.Series.replace
:也可以使用
df.merge
指定left_on
和right_on
列进行合并:实际上,您可以省略关键字参数,
pd.merge(df1, df2)
也可以工作(例如您的示例)。你知道吗相关问题 更多 >
编程相关推荐