如何解决仅当第一行是其他下一行的子字符串时,才如何将DataFrame行与另一行平均
我有一个名为“数据”的数据框:
USER VALUE
XOXO 21
ABC-1 2
ABC-1B 4
ABC-2 4
ABC-2B 6
PEPE 12
我想使用第一个USER名称将'ABC-1'与'ABC-1B'合并为一行,然后将这两个值取平均值以得出:
USER VALUE
XOXO 21
ABC-1 3
ABC-2 5
PEPE 12
数据帧可能不整齐,并且其中还有其他不需要平均值的无关紧要的值。我只想对“ XXX-XB”在“ XXX-XB”中的两行取平均值
data = pd.DataFrame({'USER':['XOXO','ABC-1','ABC-1B','ABC-2','ABC-2B','PEPE'],'VALUE':[21,2,4,6,12]})
解决方法
尝试一下,
df.USER = df.USER.str.replace('(-\d)B',r"\1")
df = df.groupby("USER",as_index=False,sort=False).VALUE.mean()
print(df)
USER VALUE
0 XOXO 21
1 ABC-1 3
2 ABC-2 5
3 PEPE 12
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。