我想分割一个字符串(它是一个四位数的数字),但是如果字符串以0开头,那么我只会从字符串中得到第二个字母
代码:
for i in range(0,b):
data2['CLIENTBANKTEAORMANUAL_STR2'][i]=data2['CLIENTBANKTEAORMANUAL_STR'][i][0:2]
和结果:
CLIENTBANKTEAORMANUAL_STR CLIENTBANKTEAORMANUAL_STR2
1920 19
0150 1
我该如何解决这个问题
答案 0 :(得分:0)
尝试使用int()
for i in range(0,b):
data2['CLIENTBANKTEAORMANUAL_STR2'][i]=int(data2['CLIENTBANKTEAORMANUAL_STR'][i][0:2])
答案 1 :(得分:0)
与str
一起使用索引编制,然后从lstrip
的左侧删除0
:
df['new'] = df['CLIENTBANKTEAORMANUAL_STR'].str[:2].str.lstrip('0')
#better performance if larger data and no NaNs
#df['new_str'] = [x[:2].lstrip('0') for x in df['CLIENTBANKTEAORMANUAL_STR']]
如果需要整数,但双00
返回0
只能转换而不是剥离:
df['new'] = df['CLIENTBANKTEAORMANUAL_STR'].str[:2].astype(int)
数据:
df['new_str'] = df['CLIENTBANKTEAORMANUAL_STR'].str[:2].str.lstrip('0')
df['new_int'] = df['CLIENTBANKTEAORMANUAL_STR'].str[:2].astype(int)
print (df)
CLIENTBANKTEAORMANUAL_STR CLIENTBANKTEAORMANUAL_STR2 new_str new_int
0 0032 34 0
1 1920 19 19 19
2 0150 1 1 1