我正在尝试定义一个函数,它将创建一个列,并将数字清理为仅为其十位数的区号和号码。日期范围。
PNum1
0 18888888888
1 1999999999
2 +++(112)31243134 我拥有所有单独的函数,甚至将它们存储在DataFrame和字典中。
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返回
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位数字。
所需的输出:
number
1231243134
1999999999
8888888888发布于 2018-01-26 05:56:19
您可以删除每个非数字,并切片后10个数字。
df.PNum1.str.replace('\D+', '').str[-10:]
0 8888888888
1 1999999999
2 1231243134
Name: PNum1, dtype: objecthttps://stackoverflow.com/questions/48452090
复制相似问题