Pandas合并不同DataFrame时如何仅保留指定需要的列
你可以通过两种方式调整,实现仅保留expeditions的month列的需求:
方法1:合并前裁剪expeditions数据集(更高效,推荐)
合并前仅保留expeditions中用于关联的expedition_id列和需要的month列,再执行合并操作,不会引入多余字段。
调整后的完整代码:
import pandas as pd members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv") expeditions = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/expeditions.csv") # 提前裁剪expeditions,仅保留关联键和需要的month列 expeditions_selected = expeditions[['expedition_id', 'month']] df_members_expeditions = pd.merge(members, expeditions_selected, on='expedition_id', how='inner') df_members_expeditions
方法2:合并后筛选需要的列
如果已经完成合并,可以直接过滤保留members全部列+expeditions的month列:
import pandas as pd members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv") expeditions = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/expeditions.csv") df_members_expeditions = pd.merge(members, expeditions, on='expedition_id', how='inner') # 筛选保留所有members的列 + month列 df_members_expeditions = df_members_expeditions[[*members.columns, 'month']] df_members_expeditions
内容的提问来源于stack exchange,提问作者user17501078
相关产品推荐
相关产品推荐

