首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当第一行是其他下一行的子字符串时,如何将DataFrame行与另一行平均

仅当第一行是其他下一行的子字符串时,如何将DataFrame行与另一行平均
EN

Stack Overflow用户
提问于 2020-08-27 18:09:18
回答 1查看 43关注 0票数 2

我有一个叫做“数据”的数据:

代码语言:javascript
复制
USER    VALUE
XOXO      21
ABC-1      2
ABC-1B     4
ABC-2      4
ABC-2B     6
PEPE      12

我想使用第一个用户名将'ABC-1‘和'ABC-1B’合并成一行,然后将这两个值平均到这里:

代码语言:javascript
复制
USER    VALUE
XOXO      21
ABC-1      3
ABC-2      5
PEPE      12

数据可能不整齐,而且还有其他不相关的值,不需要平均。我只想将'XXX-X‘在'XXX-XB’中的两行进行平均。

代码语言:javascript
复制
data = pd.DataFrame({'USER':['XOXO','ABC-1','ABC-1B','ABC-2','ABC-2B', 'PEPE'], 'VALUE':[21,2,4,4,6,12]})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 18:27:28

我们试试,

代码语言:javascript
复制
df.USER = df.USER.str.replace('(-\d)B', r"\1")
df = df.groupby("USER", as_index=False, sort=False).VALUE.mean()

print(df)

代码语言:javascript
复制
    USER  VALUE
0   XOXO     21
1  ABC-1      3
2  ABC-2      5
3   PEPE     12
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63621901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档