我的数据框如下:
NameA 401016815
NameB
NameC 414969141
NameD 0403 612 699
如何获取数据框以进行条件检查[第一个字符为4,字符长度的数字为9位数字],如果满足条件,则在开始时添加零。
条件检查以查看字符长度是否为12位数字,但仅包含9个数字,应删除中间的空格。
答案 0 :(得分:1)
我们可以使用Series.str.len
来检查字符串的长度。 Series.startswith
检查字符串的开头。 Series.str.replace
删除空格。我们使用Series.mask
在特定位置替换或添加字符:
#df=df.reset_index() #if Names is the index
df['Number'].mask(df['Number'].str.len()>=12,df['Number'].str.replace(' ',''),inplace=True)
start=df['Number'].str.startswith('4').fillna(False)
df['Number'].mask(start,'0'+df['Number'],inplace=True)
print(df)
输出
Names Number
0 NameA 0401016815
1 NameB NaN
2 NameC 0414969141
3 NameD 0403612699