我想要一个解决方案,在这个解决方案中,我必须检查dataframe列的值是否有特定的代码,如果是,我将为它添加一个预定义的前缀。为了使它更简单,请查看以下示例。例如,我有一个如下所示的数据帧
PRODUCT_KEY
EXI-CD_5S-WW5678
EX-PWN-PRO-193
EX-NIS-NS-HZ049
EX-NCI-DSI-A-R
EX-GCA-FAC-F
AU-345654
NL-108793
HK-678903
WW-564312
DE-123243
所以对于这个专栏,我想做的是;我想检查它是否以'AU'或'NL'或'HK'或'ww'或'DE'开头,如果是这样,我将添加前缀'GST-YIP',其余的前缀将是相同的。生成的数据帧如下所示
PRODUCT_KEY
EXI-CD_5S-WW5678
EX-PWN-PRO-193
EX-NIS-NS-HZ049
EX-NCI-DSI-A-R
EX-GCA-FAC-F
GST-YIP-AU-345654
GST-YIP-NL-108793
GST-YIP-HK-678903
GST-YIP-WW-564312
GST-YIP-DE-123243
我试着在for循环内完成它
for i in df['PRODUCT_KEY']:
if i.str.contains('AU'|'HK'|'WW'|'DE'):
df['PRODUCT_KEY] = 'INC-AAB' + i
else:
f['PRODUCT_KEY] = i
但这并没有给我正确的结果
使用
np.where
和.str.startswith
Ex:
输出:
使用正则表达式
Ex:
相关问题 更多 >
编程相关推荐