我正在尝试将行折叠成一行(姓,名,ID),同时,只要有具有True的列/行,就用True覆盖False。 True是系统生成的标志,要求我们更深入地研究该记录。
df = pd.DataFrame({'ID':[1, 1,2, 3,3],'LastName':['Cardinal','Cardinal', 'BlueJay', 'Robin','Robin'], 'FirstName':['Red', 'Red','Bluey', 'Round','Round'], 'French':[True, False,False,False, True], 'Flying':[False,True, True, True, False]})
我不知道从哪里开始。在这种情况下,我们不能使用拆分应用组合的思维方式,因为我们要同时替换列和行。分组,更新,combining_first已退出。此外,还有100多个列...
所需的输出:
df2 = pd.DataFrame({'ID':[1, 2, 3],'LastName':['Cardinal', 'BlueJay', 'Robin'], 'FirstName':['Red','Bluey','Round'], 'French':[True, False, True], 'Flying':[True, True, True]})
谢谢!
答案 0 :(得分:2)
尝试any
:
df.groupby(['ID','LastName','FirstName'], as_index=False).any()
输出:
ID LastName FirstName French Flying
0 1 Cardinal Red True True
1 2 BlueJay Bluey False True
2 3 Robin Round True True