我从一个爬虫程序得到这些数据,想把它转换成一个漂亮的数据帧。你知道吗
现在我看到的是:
+-----------+------------------------------------------+------------+---------------------+
| HotelName | RoomType | RoomFloor | RoomPrice |
+-----------+------------------------------------------+------------+---------------------+
| Hotel1 | Standard,Standard,Standard,Deluxe,Deluxe | 10F,20F | 100,105,108,200,205 |
| Hotel2 | Standard,Standard,Deluxe,Deluxe,Grande | 30F,40F,50F| 90,95,250,240,300 |
+-----------+------------------------------------------+------------+---------------------+
我最终想要的是:
+-----------+----------+-----------+-----------+
| HotelName | RoomType | RoomFloor | RoomPrice |
+-----------+----------+-----------+-----------+
| Hotel1 | Standard | 10F | 100 |
| Hotel1 | Standard | 10F | 105 |
| Hotel1 | Standard | 10F | 108 |
| Hotel1 | Deluxe | 20F | 200 |
| Hotel1 | Deluxe | 20F | 205 |
| Hotel2 | Standard | 30F | 90 |
| Hotel2 | Standard | 30F | 95 |
| Hotel2 | Deluxe | 40F | 250 |
| Hotel2 | Deluxe | 40F | 240 |
| Hotel2 | Grande | 50F | 300 |
+-----------+----------+-----------+-----------+
我是Python新手,我不能处理这个问题。有人能帮忙吗?谢谢!你知道吗
如果分别定义
RoomFloor
,则解决方案为:我认为循环将产生更可读的代码:
它遍历数据帧的行,并为每个酒店生成房间类型、房间楼层和房间价格的列表。
mapping = dict(zip(room_types.unique(), room_floors))
板条箱是房间类型和房间楼层之间的映射。使用这个映射,room_floors = room_types.map(mapping)
创建一个长度相等的列表。既然room_types
、room_floors
和room_prices
具有相同的长度,您就可以对它们进行迭代,并将每个记录添加为一个元组。最后,最后一行将元组列表转换为整洁的数据帧。你知道吗我试图复制一个数据帧,我想应该和发布的一样:
我想模块“orderedset”可能会有所帮助,希望下面的代码可以解决您的问题:
相关问题 更多 >
编程相关推荐