2024-04-20 16:09:59 发布
网友
下面是一个数据帧
ID num A032 [B001,B002,B003] A052 [B002,B003,B005] ...
把A032 [B002,B005,B006]这个放到数据帧中,这样看起来就像这样
A032 [B002,B005,B006]
ID num A032 [B001,B002,B003,B005,B006] A052 [B002,B003,B005] ...
所以我要做的是检查它是否已经在数据帧中了
如果已经存在,则将其添加到num
num
或者
如果数据帧中不存在ID,则添加新行
您可以在pandas中通过分解和重构列表来完成,但效率很低:
pandas
import pandas as pd df = pd.DataFrame({"ID":["A032","A052"], "num":[["B001","B002","B003"],["B002","B003","B005"]]}) df2 = pd.DataFrame({"ID":["A032"], "num": [["B002","B005","B006"]]}) print (pd.concat([df.explode("num"),df2.explode("num")],ignore_index=True) .drop_duplicates(["ID","num"],keep="first") .groupby("ID")["num"].apply(list)) # ID A032 [B001, B002, B003, B005, B006] A052 [B002, B003, B005]
您可以在
pandas
中通过分解和重构列表来完成,但效率很低:相关问题 更多 >
编程相关推荐