首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取10位数字

获取10位数字
EN

Stack Overflow用户
提问于 2018-01-26 05:20:33
回答 1查看 479关注 0票数 1

我正在尝试定义一个函数,它将创建一个列,并将数字清理为仅为其十位数的区号和号码。日期范围。

代码语言:javascript
复制
         PNum1     
0      18888888888
1       1999999999
2  +++(112)31243134 

我拥有所有单独的函数,甚至将它们存储在DataFrame和字典中。

代码语言:javascript
复制
def GetGoodNumbers(col):
    column = col.copy()
    Cleaned = column.replace('\D+', '', regex=True)
    NumberCount = Cleaned.astype(str).str.len()
    FirstNumber = Cleaned.astype(str).str[0]
    SummaryNum = {'Number':Cleaned,'First':FirstNumber,'Count':NumberCount}
    df = pd.DataFrame(data=SummaryNum)
    DecentNumbers = [] 
    return df

返回

代码语言:javascript
复制
   Count First        Number
0     11     1   18888888888
1     10     3    3999999999
2     11     2   11231243134

如何遍历dataframe列并返回一个新列,该列将:-remove -remove non-digits。-get长度(通常是10或11) -If长度是11,返回右边的10位数字。

所需的输出:

代码语言:javascript
复制
number
1231243134
1999999999
8888888888
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-26 05:56:19

您可以删除每个非数字,并切片后10个数字。

代码语言:javascript
复制
df.PNum1.str.replace('\D+', '').str[-10:]

0    8888888888
1    1999999999
2    1231243134
Name: PNum1, dtype: object
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48452090

复制
相关文章

相似问题

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