gpt4 book ai didi

python - 如果大于 len,Pandas 会更改列值

转载 作者:行者123 更新时间:2023-11-30 22:54:29 26 4
gpt4 key购买 nike

如果长度大于 x,我尝试使用 if 语句更改列内的值

我的 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"

最佳答案

IIUC您可以使用mask :

print (df.TC_NUM.str.len() > 9)
0 False
1 False
2 False
3 True
4 True
Name: TC_NUM, dtype: bool


df['TC_NUM'] = df.TC_NUM.mask(df.TC_NUM.str.len() > 9, df.TC_NUM.str[:-5])
print (df)
ID Test_Case TC_NUM
0 14581 dialog_testcase_4000.0134_mvp_not_understood-i... 4000.0134
1 14582 dialog_testcase_4000.0135_mvp_not_understood-i... 4000.0135
2 14583 dialog_testcase_4000.0136_mvp_not_understood-i... 4000.0136
3 14584 dialog_testcase_4000.0137_mvp_not_understood_6... 4000.0137
4 14585 dialog_testcase_4000.0138_mvp_not_understood_6... 4000.0138

关于python - 如果大于 len,Pandas 会更改列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37755069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com