【发布时间】:2019-09-28 13:38:56
【问题描述】:
我有两个数据框,names 和 claims:
names = pd.DataFrame({
'UniqueID': 'A B C D E F'.split(),
'Name':['Susie', 'George Foreman', 'Charles', 'Nicole', 'Peter Piper', 'Penelope Cruz'],
'Address':['111 3rd St', '123 Bank St', '555 Square Sq', '9 Charlton Ave', 'PO Box 1', 'The White House'],
'Phone number':['2032218686', '2032032203', '8048048804', '2232645879', '2564544469', '8005865555']})
UniqueID Name Address Phone number
0 A Susie 111 3rd St 2032218686
1 B George Foreman 123 Bank St 2032032203
2 C Charles 555 Square Sq 8048048804
3 D Nicole 9 Charlton Ave 2232645879
4 E Peter Piper PO Box 1 2564544469
5 F Penelope Cruz The White House 8005865555
claims = pd.DataFrame({
'ClaimNo':range(29,38),
'ClaimDetails':['Slip and fall','Clmt slipped and fell','Thunderstorms are scary','Hail storm damage',
'Property fire','Arson','Shooting','Shooting and fatality','Slip and fall'],
'PolicyNo':['00058566-0','00056455-5','00058588-8','00011111-2','00088787-0','00045658-0','00012345-6','00065432-1','00088080-4'],
'UniqueID':'A F F D E A D E E'.split()})
ClaimNo ClaimDetails PolicyNo UniqueID
0 29 Slip and fall 00058566-0 A
1 30 Clmt slipped and fell 00056455-5 F
2 31 Thunderstorms are scary 00058588-8 F
3 32 Hail storm damage 00011111-2 D
4 33 Property fire 00088787-0 E
5 34 Arson 00045658-0 A
6 35 Shooting 00012345-6 D
7 36 Shooting and fatality 00065432-1 E
8 37 Slip and fall 00088080-4 E
我想创建一个新的 DataFrame,其中只包含 names 的行,其 UniqueID 出现在 claims 中。我不确定它们是否应该被合并或过滤。我一直在尝试不同类型的合并,但我似乎无法得到我想要的结果,应该是这样的:
UniqueID Name Address Phone number
0 A Susie 111 3rd St 2032218686
1 D Nicole 9 Charlton Ave 2232645879
2 E Peter Piper PO Box 1 2564544469
3 F Penelope Cruz The White House 8005865555
【问题讨论】:
标签: python pandas dataframe filter merge