根据条件添加二进制列

2024-09-20 06:59:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧“veh_contract2_df”,如下所示:

FUEL_CODE   FUEL_TYPE 
1           MARGE+PLUS
10          DIESEL

我想添加一列“hybrid”,如果FUEL_TYPE中有“+”,则应包含“Y”,否则应包含“N”

sub_str = "+"
if(veh_contract2_df.loc[(veh_contract2_df['FUEL_TYPE'].find(sub_str)==-1)]):
    veh_contract2_df['HYBRIDE'] = "Y"
    else:
    veh_contract2_df['HYBRIDE'] ="N"

但是我得到了这个错误:SyntaxError:无效语法(在第71行)

有什么想法吗?谢谢


Tags: 数据dfiftypecodepluslocfuel
1条回答
网友
1楼 · 发布于 2024-09-20 06:59:42

使用numpy.where

In [1923]: import numpy as np

In [1924]: df['hybrid'] = np.where(df.FUEL_TYPE.str.contains('+', regex=False), 'Y', 'N')

In [1925]: df
Out[1925]: 
   FUEL_CODE   FUEL_TYPE hybrid
0          1  MARGE+PLUS      Y
1         10      DIESEL      N

相关问题 更多 >