自定义分组

时间:2018-11-24 13:56:07

标签: python pandas

我是Python新手,需要帮助。我尝试搜索,但是找不到与我需要的帖子有关。

我有一个数据框,其中包含一个名为Diet的列,其中包含许多类似的值,例如“仅素食”,“大多数素食”,“严格素食”,“素食”等。如何将这些值合并为一个值说“素食主义者”?

2 个答案:

答案 0 :(得分:1)

import pandas as pd
import numpy as np

df1 = pd.DataFrame({'col1': ['Only Vegetarian', 'Mostly Vegetarian', 'Strictly Vegetarian', 'Veggie','Meat']})

df1['col2'] = np.where(df1.col1.str.contains('Vege'), 'Vegeterian', 'Not Vegeterian')

答案 1 :(得分:0)

您可以通过在函数中编码规则并使用pd.Series.apply

来创建虚拟变量。
def check_veg(x):
   # The elipse below signifies you providing all the values somehow
   if x in ["Veggie", "Mostly Vegetarian", ...]:
       return 1
   else:
       return 0

df["isVeg"] = df["diet"].apply(check_veg)