Python 用于为字符串变量创建新列的if语句
有了这个dataframe,我想创建另一个基于第一列的值的列Python 用于为字符串变量创建新列的if语句,python,python-3.x,pandas,if-statement,Python,Python 3.x,Pandas,If Statement,有了这个dataframe,我想创建另一个基于第一列的值的列 data = {'item_name': ['apple', 'banana', 'cherries', 'duck','chicken','pork']} df = pd.DataFrame (data, columns = ['item_name']) 我尝试过的代码: def item_type(item_name): if df['item_name'] is in ['apple','banana','cherri
data = {'item_name': ['apple', 'banana', 'cherries', 'duck','chicken','pork']}
df = pd.DataFrame (data, columns = ['item_name'])
我尝试过的代码:
def item_type(item_name):
if df['item_name'] is in ['apple','banana','cherries']:
df['item_type']=='fruit'
else:
df['item_type']=='meat'
df = df.apply(item_type)
使用
np.where
:
df['item_type'] = np.where(df['item_name'].isin(['apple','banana','cherries']),
'fruit', 'meat')
输出:
item_name item_type
0 apple fruit
1 banana fruit
2 cherries fruit
3 duck meat
4 chicken meat
5 pork meat
使用
np.where
:
df['item_type'] = np.where(df['item_name'].isin(['apple','banana','cherries']),
'fruit', 'meat')
输出:
item_name item_type
0 apple fruit
1 banana fruit
2 cherries fruit
3 duck meat
4 chicken meat
5 pork meat