Python 3.x 在Python中有没有办法将测试列中的子字符串转换成新的列值
我必须使用测试列中的子字符串创建新列Python 3.x 在Python中有没有办法将测试列中的子字符串转换成新的列值,python-3.x,jupyter-notebook,Python 3.x,Jupyter Notebook,我必须使用测试列中的子字符串创建新列 test 060000070000 060000070000 060000070000 010000b7020000b70501060000070000 010000b7020000b70501060000070000 下面是我试过的代码 for index, row in check.iterrows(): data = row['test'] test = data[:2] remaining_part = data[2:]
test
060000070000
060000070000
060000070000
010000b7020000b70501060000070000
010000b7020000b70501060000070000
下面是我试过的代码
for index, row in check.iterrows():
data = row['test']
test = data[:2]
remaining_part = data[2:]
while test >= '00':
if test == "06":
check['numerator'] = remaining_part[:4]
else:
check['numerator'] = 'No data'
if test == "07":
check['denominator'] = remaining_part[:4]
else:
check['denominator'] = 'No data'
if test== "01":
check['first'] = remaining_part[:6]
else:
check['first'] = 'No data'
if test== "02":
check['second'] = remaining_part[:6]
else:
check['second'] = 'No data'
if test== "05":
check['occurance'] = remaining_part[:2]
else:
check['occurance'] = 'No data'
break
我的序列号是01、02、05、06和07,基于此,我在测试列中拆分数据
test
060000070000
060000070000
060000070000
010000b7020000b70501060000070000
010000b7020000b70501060000070000
例如,测试列的第4行有数据“010000B7020000B7050106000070000”,如果我找到“01”,我将取后面的6个值(0000b7),
对于'02'我取后面的6个值(0000b7),对于'05'我取后面的2个值作为(01),当我在测试列中找到'06'时,我取后面的4个值(0000)
当我找到'07'时,我取了后面的4个值(0000)
类似地,对于测试列中的所有行,我将拆分这些值以创建具有这些特定值的新列
我得到的结果是
test numerator first denominator second occurance
060000070000 0000 0000b7 No data No data No data
060000070000 0000 0000b7 No data No data No data
060000070000 0000 0000b7 No data No data No data
010000b7020000b70501060000070000 0000 0000b7 No data No data No data
010000b7020000b70501060000070000 0000 0000b7 No data No data No data
但预期的结果是,
test numerator denominator first second occurance
060000070000 0000 0000 No data No data No data
060000070000 0000 0000 No data No data No data
060000070000 0000 0000 No data No data No data
010000b7020000b70501060000070000 0000 0000 0000b7 0000b7 01
010000b7020000b70501060000070000 0000 0000 0000b7 0000b7 01
有没有关于如何实施的建议