我知道以前也有人问过类似的问题(如何合并数据框中的两行pandas等),但我仍然在努力执行以下操作(除了包含许多行的 pandas 数据框):
team_token day1 day2 day3 day4
0 abc 1 NaN NaN NaN
1 abc NaN 1 NaN NaN
2 abc NaN NaN NaN NaN
3 abc NaN NaN NaN 1
我想将具有相同 team_token 的行组合起来,以便最终结果如下所示:
team_token day1 day2 day3 day4
0 abc 1 1 NaN 1
先感谢您。
Use combine_first on two Series
由数据框的两行给出:
import pandas as pd
df = pd.DataFrame({'team_token':['abc', 'abc'], 'day1': [1, None], 'day2' : [None, 1]})
df.loc[0].combine_first(df.loc[1])
gives:
team_token day1 day2
0 abc 1 1
#编辑:
一个也适用于您更新的答案的更好的解决方案很简单:
df.max()
假设你的day
列包含 Nan 或 those。
如果你有不同的team_tokens
:
day1 day2 day3 team_token
0 1.0 NaN NaN abc
1 NaN NaN NaN abc
2 1.0 1.0 NaN abc
3 NaN NaN NaN abc
4 1.0 NaN 1.0 ddd
5 1.0 NaN 1.0 ddd
6 NaN NaN 1.0 ddd
you can group_by
并仍然采取max
团体成员:
df.groupby('team_token').max().reset_index()
# team_token day1 day2 day3
#0 abc 1.0 1.0 NaN
#1 ddd 1.0 NaN 1.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)