首页 > 解决方案 > 熊猫:动态查找当前星期的星期天的日期并放置在数据框中的空单元格中

问题描述

我有一个按周计算的熊猫数据框。一周的开始总是星期一,结束是相应的星期日。

下面是我的示例数据框:

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 上搜索了一些方向,但找不到任何东西。

标签: pythonpandasdatedatetimedayofweek

解决方案


首先转换为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)

推荐阅读