首页 > 解决方案 > 洁净室类型数据

问题描述

我正在尝试清理我的数据,并且有一个名为“房间类型”的列,它有大约 160-170 个不同的值,应该只有 10 或 15。例如,其中大部分都有这样的数据;单人房有不同的进入方式:

"Single room level 1"
"Single room level 2"
"Single room Street Side"

"1 楼大床房" "2 楼大床房" "街边套房" "带迷你酒吧的套房"

我想清除所有子数据,如水平或街道一侧,我希望我的数据集显示如下行:“单人房”“单人房”“单人房”“大床房”“大床房”“套间”房间” “套间”

我想要这种方式,以便更容易使用 groupby 功能并根据这些房间类型中的每一种获得收入。我很抱歉没有说清楚。

标签: pythonpandas

解决方案


这是通过示例执行此操作的方法

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替换其中的任何值。


推荐阅读