Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在Python中有没有办法将测试列中的子字符串转换成新的列值_Python 3.x_Jupyter Notebook - Fatal编程技术网

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
有没有关于如何实施的建议