首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据数据中的条件与蟒蛇熊猫对行进行分组?

如何根据数据中的条件与蟒蛇熊猫对行进行分组?
EN

Stack Overflow用户
提问于 2022-01-15 19:58:24
回答 2查看 478关注 0票数 2

我希望更改年龄范围(EDAT),以便第一个年龄范围现在是0到9岁,10岁到19岁作为一个单一年龄范围从0到19,而不改变其他值。

代码语言:javascript
复制
df = pd.DataFrame({'DATA': ['2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10'], 'EDAT':['0 a 9',
 '10 a 19',
 '10 a 19',
 '20 a 29',
 '20 a 29',
 '20 a 29',
 '30 a 39',
 '30 a 39',
 '30 a 39',
 '30 a 39'], 'ESDEVENIMENT': ['Cas',
 'Cas',
 'Cas',
 'Cas',
 'Cas',
 'Hospitalització',
 'Cas',
 'Cas',
 'Cas',
 'Hospitalització'], 'PAUTA': ['No iniciada',
 'Completa',
 'No iniciada',
 'Completa',
 'No iniciada',
 'No iniciada',
 'Completa',
 'No iniciada',
 'Parcial',
 'No iniciada'], 'RECOMPTE': [6,
 5,
 6,
 3,
 4,
 2,
 7,
 10,
 1,
 2]})
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-15 20:17:14

你应该读处理文本数据

使用str.replace

代码语言:javascript
复制
df['EDAT'] = df['EDAT'].str.replace(r'(0 a 9|10 a 19)', '0 a 19', regex=True)
print(df)

# Output
         DATA     EDAT     ESDEVENIMENT        PAUTA  RECOMPTE
0  2021-10-10   0 a 19              Cas  No iniciada         6
1  2021-10-10   0 a 19              Cas     Completa         5
2  2021-10-10   0 a 19              Cas  No iniciada         6
3  2021-10-10  20 a 29              Cas     Completa         3
4  2021-10-10  20 a 29              Cas  No iniciada         4
5  2021-10-10  20 a 29  Hospitalització  No iniciada         2
6  2021-10-10  30 a 39              Cas     Completa         7
7  2021-10-10  30 a 39              Cas  No iniciada        10
8  2021-10-10  30 a 39              Cas      Parcial         1
9  2021-10-10  30 a 39  Hospitalització  No iniciada         2
票数 1
EN

Stack Overflow用户

发布于 2022-01-15 20:26:35

您可以使用.loc进行赋值。

代码语言:javascript
复制
df = pd.DataFrame({'DATA': ['2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10',
 '2021-10-10'], 'EDAT':['0 a 9',
 '10 a 19',
 '10 a 19',
 '20 a 29',
 '20 a 29',
 '20 a 29',
 '30 a 39',
 '30 a 39',
 '30 a 39',
 '30 a 39'], 'ESDEVENIMENT': ['Cas',
 'Cas',
 'Cas',
 'Cas',
 'Cas',
 'Hospitalització',
 'Cas',
 'Cas',
 'Cas',
 'Hospitalització'], 'PAUTA': ['No iniciada',
 'Completa',
 'No iniciada',
 'Completa',
 'No iniciada',
 'No iniciada',
 'Completa',
 'No iniciada',
 'Parcial',
 'No iniciada'], 'RECOMPTE': [6,
 5,
 6,
 3,
 4,
 2,
 7,
 10,
 1,
 2]})

df.loc[0:2, 'EDAT'] = '0 a 19'

print(df) 


    DATA        EDAT    ESDEVENIMENT    PAUTA       RECOMPTE
0   2021-10-10  0 a 19  Cas             No iniciada 6
1   2021-10-10  0 a 19  Cas             Completa    5
2   2021-10-10  0 a 19  Cas             No iniciada 6
3   2021-10-10  20 a 29 Cas             Completa    3
4   2021-10-10  20 a 29 Cas             No iniciada 4
5   2021-10-10  20 a 29 Hospitalització No iniciada 2
6   2021-10-10  30 a 39 Cas             Completa    7
7   2021-10-10  30 a 39 Cas             No iniciada 10
8   2021-10-10  30 a 39 Cas             Parcial     1
9   2021-10-10  30 a 39 Hospitalització No iniciada 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70724952

复制
相关文章

相似问题

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