考虑以下数据帧:
df1 = pd.DataFrame({'a': [0, 1, 2, 3], 'b': list('abcd')})
df2 = pd.DataFrame({'c': list('abcd'), 'd': 'Alex'})
在本例中,df1['b']
和{
当我只需要一个键时,结果数据帧中就有两个键列。我一直在使用:
df1.merge(df2, left_on='b', right_on='c').drop('c', axis='columns')
有没有办法只保留一个键列?在
或者使用一个
set_index
和left_index=True
和right_on
参数:输出:
^{pr2}$一种方法是将
b
和c
分别设置为帧的索引,并使用join
后跟reset_index
:这将比大型数据帧上的
^{pr2}$merge/drop
方法快,主要是因为drop
速度慢。@比尔的方法比我的建议快,@W-B&;PiRsquared的速度比其他建议快得多:b和c的名字是一样的。至少对于合并操作。在
相关问题 更多 >
编程相关推荐