无法在机器学习中创建新功能

时间:2020-06-23 18:11:10

标签: pandas

我有一个数据集。我正在使用pandas数据框并将其命名为df。 数据集有50,000行-这是前5行:

Name_Restaurant              cuisines_available             Average cost

Food Heart                     Japnese, chinese                60$
Spice n Hungary             Indian, American, mexican          42$
kfc, Lukestreet                 Thai, Japnese                  29$
Brown bread shop                American                       11$
kfc, Hypert mall               Thai, Japnese                   40$
  1. 我想创建包含编号的列。提供的美食 我正在尝试代码

    df['no._of_cuisines_available']=df['cuisines_available'].str.len()
    

    然后而不是显示编号。的美食,它显示了字符的总和。 例如-对于第一行,o / p应该为2,但显示为17。

  2. 我需要一个新列,其中包含每个餐厅的商店数量。例子- 肯德基在这里有2家商店,分别是lukestreet kfc和hypert mall kfc。我完全有 不知道该如何编码。

1 个答案:

答案 0 :(得分:2)

i)

df['cuisines_available'].str.split(',').apply(len)

ii)

df['Name_Restaurant'].str.split(',', expand=True).melt().['value'].str.strip().value_counts()

ii)的作用:在','处拆分列,并将由此生成的所有字符串存储在单独的列中。然后使用融化器制作一个大圆柱,去除空格等,并计算单个条目。