Я пытаюсь использовать, если заявление для изменения значений в столбце, если длина больше чем хПанды изменить значение столбца, если больше лена
Мои данные CSV ..
ID Test_Case TC_NUM
14581,dialog_testcase_4000.0134_mvp_not_understood-inprogress.xml,4000.0134
14582,dialog_testcase_4000.0135_mvp_not_understood-inprogress.xml,4000.0135
14583,dialog_testcase_4000.0136_mvp_not_understood-inprogress.xml,4000.0136
14584,dialog_testcase_4000.0137_mvp_not_understood_6.2.0-inprogress.xml,4000.01376.2.0
14585,dialog_testcase_4000.0138_mvp_not_understood_6.2.0-inprogress.xml,4000.01386.2.0
Я хочу:
ID Test_Case TC_NUM
14581,dialog_testcase_4000.0134_mvp_not_understood-inprogress.xml,4000.0134
14582,dialog_testcase_4000.0135_mvp_not_understood-inprogress.xml,4000.0135
14583,dialog_testcase_4000.0136_mvp_not_understood-inprogress.xml,4000.0136
14584,dialog_testcase_4000.0137_mvp_not_understood_6.2.0-inprogress.xml,4000.0137
14585,dialog_testcase_4000.0138_mvp_not_understood_6.2.0-inprogress.xml,4000.0138
Мой текущий код может извлечь некоторые из правых колонках, но путает, если дополнительные номера находятся там.
df1['TC_NUM'] = df1['TC_NUM'].str.replace(r'[^0-9.]+', '')
df1['TC_NUM'] = df1['TC_NUM'].str[:-1]
Моя мысль/попытка использовать инструкцию if, чтобы исправить это.
if dfidtcnum(len['TC_NUM'] > 12):
print "True"
'DF1 [ 'TC_NUM'] = df1 [ 'TC_NUM'] str.replace (г '\ [.^\] {1, 3} \. \ D * $ ',' ') 'может работать для того, что вы здесь показали, но это не общее решение. Пока число между второй и третьей точками составляет от 1 до 3 цифр, оно будет работать. – Abdou