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$
我想创建包含 no 的列。可用的美食我正在尝试代码
df['no._of_cuisines_available']=df['cuisines_available'].str.len()
然后,而不是显示没有。美食,它显示了字符的总和。例如 - 对于第一行,o/p 应该是 2 ,但它显示的是 17。
我需要一个新列,其中包含每家餐厅的商店数量。示例 - 这里 kfc 有 2 家商店 kfc、lukestreet 和 kfc、hypert mall。我完全不知道如何编码。
解决方案
一世)
df['cuisines_available'].str.split(',').apply(len)
ii)
df['Name_Restaurant'].str.split(',', expand=True).melt().['value'].str.strip().value_counts()
ii) 的作用:在 ',' 处拆分列,并将由此生成的所有字符串存储在单个列中。然后使用 melt 制作一大列,去除空格等并计算单个条目。
推荐阅读
- logging - 使用 tez 引擎和 ambari 日志将数据加载到 Hive 显示完成,但日志挂起但未完成插入这些分区
- javascript - 如何在 JS 中测试嵌套的 await 函数
- python - 文件 csv:如何使用 python 根据其他列值计算值的出现次数?
- python - 我有一个带有 2 个轴的图形,如何使它们在 matplotlib 的 y 轴上具有相同的比例?
- php - 在 php 中使用 $_SERVER['HTTP_REFERER'] 登录后无法重定向
- python - 如何在 Python 中更新 GUI 窗口?
- c# - 如何用零替换三位数字
- javascript - js中如何接收键值类型函数的函数参数?
- html - 即使多次更改位置,侧边栏也没有延伸到整个页面?
- android-studio - Flutter:在 null 上调用了更新