gpt4 book ai didi

python - 我可以避免 pandas 合并中右侧数据框的连接列出现在输出中吗?

转载 作者:行者123 更新时间:2023-12-02 16:19:41 24 4
gpt4 key购买 nike

我正在用 pandas 合并两个数据框。我想避免这种情况,在连接时,输出包括右表的连接列。

例子:

import pandas as pd

age = [['tom', 10], ['nick', 15], ['juli', 14]]
df1 = pd.DataFrame(age, columns = ['Name', 'Age'])

toy = [['tom', 'GIJoe'], ['nick', 'car']]
df2 = pd.DataFrame(toy, columns = ['Name_child', 'Toy'])

df = pd.merge(df1,df2,left_on='Name',right_on='Name_child',how='left')

df.columns 将给出输出 Index(['Name', 'Age', 'Name_child', 'Toy'], dtype='object') .有没有一种简单的方法来获取 Index(['Name', 'Age', 'Toy'], dtype='object') 呢?我当然可以像这样 del df['Name_child'] 之后删除该列,但我希望我的代码尽可能短。

最佳答案

根据@mgc 的评论,您不必重命名 df2 的列。只需将 df2 传递给具有重命名列的 merge 函数。 df2 列名称将保持原样。

df = pd.merge(df1,df2.rename(columns={'Name_child': 'Name'}),on='Name', how='left')

df
Name Age Toy
0 tom 10 GIJoe
1 nick 15 car
2 juli 14 NaN

df.columns
Index(['Name', 'Age', 'Toy'], dtype='object')

df2.columns
Index(['Name_child', 'Toy'], dtype='object')

关于python - 我可以避免 pandas 合并中右侧数据框的连接列出现在输出中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65794572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com