首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何替换数据帧中1列中的数字?

如何替换数据帧中1列中的数字?
EN

Stack Overflow用户
提问于 2020-01-06 08:18:03
回答 1查看 38关注 0票数 0

df大约有200000行。一栏是电话号码。我需要用+7替换8,我不想创建另一个df。我想把它放在原地。

代码语言:javascript
复制
df.head()

client_id   contact_number  
0           +77760013505    
1           +77779261433    
2           +77071061047    
3           +77714032401    
4            87787763621    
5            87787763621

我想用8到+7取代那些。

代码语言:javascript
复制
starts_8_length_11 = df[(df['contact_number'].str.startswith('8')) & (df['contact_number'].str.len()==11)]

但是我不想从主df中创建starts8_length11,修改它,然后将它放回df中。怎么在里面做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-06 08:23:54

解决方案应该是将8替换为用于字符串开头的regex ^,但只适用于具有长11的行。

代码语言:javascript
复制
m = (df['contact_number'].str.len()==11)

df.loc[m, 'contact_number'] = df.loc[m, 'contact_number'].str.replace('^8', '+7')
print (df)
  client_id contact_number
0         0   +77760013505
1         1   +77779261433
2         2   +77071061047
3         3   +77714032401
4         4   +77787763621
5         5   +77787763621

我认为inplace不是很好的练习,检查

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59608742

复制
相关文章

相似问题

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