1
我想使用if语句来一列中的值更改,如果有长度大于X熊猫变化列值如果大于LEN
我的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(R'\ [^ \] {1, 3} \。\ d * $','')'可以用于你在这里显示的内容,但这不是一个真正的通用解决方案。只要第二个和第三个点之间的数字在1到3个数字之间,它就可以工作。 – Abdou