我有一个数据帧df,我想在这里找到一个特定的模式,然后用一个新的模式替换它。例如,任何包含以下内容的值:2X6.4T,应替换为12T,,但如果包含“单词”WOW
数据:
Type
AY12-AYY-AY-R800-900G-2X6.4T_18T-R6-v.A
AY12-AYY-AY-R800-900G-2X6.4T_18T-R6-v.A
AY12-AYY-AY-R800-900G-2X6.4T_18T-R6-v.A
AY12-AYY-AY-R800XD-900G-6.4T-R11-WOW-v.A
AY12-AYY-AY-R800XD-900G-6.4T-R11-WOW-v.A
所需:
Type
AY12-AYY-AY-R800-900G-12T_18T-R6-v.A
AY12-AYY-AY-R800-900G-12T_18T-R6-v.A
AY12-AYY-AY-R800-900G-12T_18T-R6-v.A
AY12-AYY-AY-R800XD-900G-6.4T-R11-WOW-v.A
AY12-AYY-AY-R800XD-900G-6.4T-R11-WOW-v.A
正在做:
df['Type'] = df['Type'].replace(['2X6.4T'],'12T')
但是,这消除了以下内容的完整值:AY12-AYY-AY-R800-900G-2X6.4T_18T-R6-v.A,并且不搜索和替换
如果您有任何建议,我将不胜感激,我仍在对此进行研究
请使用
np.where(condition, string if condition is true, string if condition false)
。选择时请使用.str,contains()
正如@TrentonMcKinney所建议的,您还可以使用df.where
一个选项是
.mask
,如果条件在某列上,我通常使用它对该列进行条件更改。这是因为默认选项是现有列值用
.where
回答,这类似于掩模的“逆”:相关问题 更多 >
编程相关推荐