【问题标题】:Custom grouping [closed]自定义分组[关闭]
【发布时间】:2018-11-24 13:56:07
【问题描述】:

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

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

【问题讨论】:

  • 请发布示例输入和预期输出。

标签: python pandas


【解决方案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')

【讨论】:

  • @SuhritVenkatesh 如果它解决了您的问题,请不要忘记将其标记为已接受的答案 :)
【解决方案2】:

您可以通过在函数中编码规则并使用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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-14
    • 2013-03-24
    • 1970-01-01
    • 2012-08-28
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多