python - 熊猫:动态查找当前星期的星期天的日期并放置在数据框中的空单元格中
问题描述
我有一个按周计算的熊猫数据框。一周的开始总是星期一,结束是相应的星期日。
下面是我的示例数据框:
Week_Start_Date (Mon) Week_End_Date (Sun) Count
2018-08-20 35
2018-08-13 2018-08-19 40
我想用与当前周关联的星期日填充空白单元格(与当前星期日关联的日期)。我希望这是动态的,因为几周会发生变化。
两个问题:
Q1) 我如何找到与当前星期相关的星期天日期?
Q2) 我如何将该日期放在丢失的单元格中?在位置上,丢失的单元格将始终是第 2 列、第 1 行。
我已经在 Google 和 stackoverflow 上搜索了一些方向,但找不到任何东西。
解决方案
首先转换为datetime
. 然后使用fillna
您的开始日期增加 6 天:
cols = ['Week_Start_Date', 'Week_End_Date']
df[cols] = df[cols].apply(pd.to_datetime, errors='coerce')
df['Week_End_Date'] = df['Week_End_Date'].fillna(df['Week_Start_Date'] + pd.DateOffset(days=6))
print(df)
Week_Start_Date Week_End_Date Count
0 2018-08-20 2018-08-26 35
1 2018-08-13 2018-08-19 40
如果 6 天的增量始终为真,您甚至不需要fillna
:
df['Week_End_Date'] = df['Week_Start_Date'] + pd.DateOffset(days=6)
推荐阅读
- uno-platform - Xaml Grid Column Width Auto 被除 UWP 之外的所有平台忽略
- linux - 如何使用bash对第一列中具有共享子字符串的项目的列值求和
- c# - 模型字段属性未在视图中显示值
- authentication - 如何使用 Nuxtjs 实现 Auth0 服务器端?
- reactjs - 如何直接在jsx“src”中发出http请求
- python - 删除 pandas 数据框中 2 列中包含重复值的行
- bash - 无法从 $ 获得正确的退出代码?
- linux - udpsink 似乎没有流任何东西,但 fileink 工作
- gis - 在 Repast Simphony 中读取并显示 1 个或多个光栅文件
- python - AttributeError: 'StringVar' 对象没有属性 'encode'