python - 洁净室类型数据
问题描述
我正在尝试清理我的数据,并且有一个名为“房间类型”的列,它有大约 160-170 个不同的值,应该只有 10 或 15。例如,其中大部分都有这样的数据;单人房有不同的进入方式:
"Single room level 1"
"Single room level 2"
"Single room Street Side"
"1 楼大床房" "2 楼大床房" "街边套房" "带迷你酒吧的套房"
我想清除所有子数据,如水平或街道一侧,我希望我的数据集显示如下行:“单人房”“单人房”“单人房”“大床房”“大床房”“套间”房间” “套间”
我想要这种方式,以便更容易使用 groupby 功能并根据这些房间类型中的每一种获得收入。我很抱歉没有说清楚。
解决方案
这是通过示例执行此操作的方法
import pandas as pd
import re
df = pd.DataFrame({'room_type': ["single", 'Single room', 'room', 'not a rooom']})
df['room_type'] = df['room_type'].apply(lambda room_type: 'Single Room' if re.search(r'single', room_type) else room_type)
以上将用Single替换其中的任何值。
推荐阅读
- mysql - 从大型数据集中过滤掉记录的最佳方法是什么
- mongodb - 根据小时和司机ID获取特定记录
- javascript - 将长字符串转换为日期并计算它们之间的差异
- javascript - LARAVEL 5.8:窗口滚动,滚动在刀片模板中不起作用
- python - 使用第二个数组在索引处屏蔽具有值的嵌套数组
- java - 一个集合被另一个集合“支持”意味着什么?
- angular - Ng 风格的条件运算符不工作 Angular 6
- c++ - std::memory_order_acquire 和 memory_order_release 可以分开使用吗?
- react-native - 如何在用户输入时建议地点?
- vba - 正则表达式 引号中的文本