我遇到了一个可能非常具体的问题,我有以下数据:
输入
<表类>id 名称 phone1 phone2 phone3 tbody><<tr>1 约翰 3222430085 9983146924 1234567890 2瓦妮莎 3222430085 9934254243 3 玛丽亚 7861628239 7861628239 7861628239 4奥斯卡 7861157888 3222430085 4保罗 7151087912 5555555555 5保罗 7151087912 5555555555 表类>
Filter
,phone
,然后stack
,重塑成一个多索引序列,然后删除重复的序列,然后unstack
,assign
,结果返回到原始数据帧
df.assign(**df.filter(like='phone').stack().drop_duplicates().unstack())
id name phone1 phone2 phone3
0 1 John 3222430085 9983146924 1234567890
1 2 Vanessa NaN 9934254243 NaN
2 3 Maria 7861628239 NaN NaN
3 4 Oscar 7861157888 NaN NaN
4 4 Paul 7151087912 5555555555 NaN
5 5 Paul NaN NaN NaN