【发布时间】:2021-01-30 00:21:10
【问题描述】:
我将用一个假设的示例问题来解释我的需求。 比如说,我们有四个数据框,每个人一个。带有位置和旅行日期的列。
例如:
#DataFrame1
Location Date
0 A d1
1 B d2
2 B d3
3 A d4
#DataFrame2
Location Date
0 B d1
1 C d2
2 D d3
3 B d3
4 C d4
现在,我需要将所有这四个数据框合并为一个。第 1 列是四个数据框中所有位置的唯一列表,每个人的单独列是根据他们的旅行对位置进行“是”或“否”。
#Output Dataframe
Location Person1 Person2
0 A Yes No
1 B Yes Yes
2 C No Yes
3 D No Yes
我该如何处理?
到目前为止,我都是这样想的。
- 我可以在单个数据框(因此每个人去过的地方)下获得一组唯一值:
p1_places = df1['Location'].unique() - 我可以通过创建一个集合来获得所有人旅行过的所有地方的组合列表(此处为 A、B、C、D)。
for place in p1_places: set_locations.add(place)
但我不知道如何将此集合与 person1 和 person2 匹配,然后创建一个带有结果的列。
【问题讨论】:
标签: python pandas dataframe merge