python - Python:根据来自特定单元格的输入更改数据框的值另一个数据框
问题描述
我正在尝试制作一个日程安排程序。随着时间的推移,我有来自预订 ID(索引)的输入。预订包括多天。df 看起来像(df_reservation):
ResId 20190301 20190302 20190303 20190304 20190305
100 1.0 1.0 1.0 0.0 0.0
101 0.0 1.0 1.0 1.0 0.0
102 0.0 1.0 1.0 1.0 1.0
上面的意思是,例如预订 100 是在前三天。第 2-4 天预订 101 等
另一个数据框,即房间的可用性看起来像(planboard):
RoomId 20190301 20190302 20190303 2019030 20190305
1 1.0 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0
因此,例如房间 1 全天都可用。
现在我想遍历预订和房间,以便将第一个预订分配给那些日子可用的第一个房间。所以第一次迭代看起来像这样:
RoomId 20190301 20190302 20190303 2019030 20190305
1 100 100 100 1.0 1.0
2 1.0 1.0 1.0 1.0 1.0
3 1.0 1.0 1.0 1.0 1.0
我觉得困难的是确保预订在所有日子都分配到同一个房间。因此,不允许将预订 100 在前 2 天分配到房间 1,在最后一天分配到房间 2。此外,它被分配的,它是不允许改变的。当然,当房间不可用时,允许无法将预订分配给房间。希望你明白这一点并能够提供帮助!
提前致谢!
在下面的代码中,我尝试使用 for loopt。'Df_stay' 是保留(带有 0 和 1)。“planboard”首先是房间的可用性,然后它应该随着预订ID而改变。此外,我将预订更改为分配给它的大量预订(否则它会被多次分配给房间)。我无法将相同天数限制在同一个房间。
for res, date, room in [(i,j, k) for i in ids_booking for j in datelist for k in accommodations]:
if df_reservation.loc[res, date] == planboard.loc[room,date]:
planboard.loc[room, date] = res
df_reservation.loc[res, date] = 10
解决方案
推荐阅读
- latex - 在乳胶 .tex 文件中插入 .sty 文件的内容
- godot - 简单的 3d 场景性能缓慢
- asp.net-core - 有没有办法创建 HTML 扩展方法来创建缓存破坏静态文件路径?
- python - 在 python 中存储来自 API 请求的某些数据
- regex - Tensorboard 支持哪些正则表达式语法来标记和运行过滤?
- javascript - 如何在 JavaScript 中显示/隐藏元素?
- python - 用通用值填充 DataFrame 中的 NaN 值
- python - 将文件从服务器容器下载到 Docker 中的客户端容器
- xcode - M1 Mac 无法在模拟器中启动任何应用程序
- google-apps-script - discord/google forms webhook 仅在我发帖时才有效,我该如何解决这个问题