我有一个叫做“数据”的数据:
USER VALUE
XOXO 21
ABC-1 2
ABC-1B 4
ABC-2 4
ABC-2B 6
PEPE 12我想使用第一个用户名将'ABC-1‘和'ABC-1B’合并成一行,然后将这两个值平均到这里:
USER VALUE
XOXO 21
ABC-1 3
ABC-2 5
PEPE 12数据可能不整齐,而且还有其他不相关的值,不需要平均。我只想将'XXX-X‘在'XXX-XB’中的两行进行平均。
data = pd.DataFrame({'USER':['XOXO','ABC-1','ABC-1B','ABC-2','ABC-2B', 'PEPE'], 'VALUE':[21,2,4,4,6,12]})发布于 2020-08-27 18:27:28
我们试试,
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 12https://stackoverflow.com/questions/63621901
复制相似问题