【发布时间】:2017-11-11 10:07:09
【问题描述】:
我的 DataFrame 中有一个名为“amenities”的列,这就是 1 条记录的样子:
print(df["amenities"][0])
{"Wireless Internet",Kitchen,"Free parking on premises",Breakfast,Heating,Washer,Dryer,"Smoke detector","Carbon monoxide detector",Essentials,Shampoo,Hangers,"Hair dryer","Laptop friendly workspace","translation missing: en.hosting_amenity_49","translation missing: en.hosting_amenity_50"}
我要做的是删除特殊字符,然后我想将它们分开,以便每个便利设施都有自己的列
Room Amenity1 Amenity2 Amenity3 Amenity4
1 Wireless Internet Kitchen Free Parking Breakfast
我所做的是:
import re
df['amenities'] = df['amenities'].map(lambda x:re.sub('\W+',' ', x))
Wireless Internet Air conditioning Pool Kitchen Free parking on premises Gym Hot tub Indoor fireplace Heating Family kid friendly Suitable for events Washer Dryer Smoke detector Carbon monoxide detector First aid kit Fire extinguisher Essentials Shampoo Lock on bedroom door 24 hour check in Hangers Hair dryer Iron Laptop friendly workspace
.
这会清除字符串,但现在我不知道如何将它们分成自己的列,因为无线互联网应该是一列,而不是两列。
【问题讨论】:
-
您是如何加载数据的?
-
用逗号分隔并对每个元素执行清理...我觉得这对你有用。
-
你想包含像
translation missing: en.hosting_amenity_50这样的条目吗?
标签: python pandas data-cleaning