为了账号安全,请及时绑定邮箱和手机立即绑定

python pandas-从日期类型中选择月份和日期,然后在新字段中插入信息

python pandas-从日期类型中选择月份和日期,然后在新字段中插入信息

呼啦一阵风 2023-02-22 17:11:23
我有 2 个数据框。一,df1有 20,365 行。另一个 ( df2) 25.df1看起来像这样:Code    DateFin      ClimReg    Prec    TempA1      14-05-18       15A         0    15.2A1      17-07-18       16A      0.01    28.2B2      02-02-19       17B       2.5    -2.3B2      30-11-18       18B       3.5    3.9C3      14-07-18       13C       0.02   32.0C3      15-07-18       13Z       6.3    3.9D4      01-01-19       12I        0    -2.0E5      01-03-18       12L       2.1    5.6我只需要在 df1 中保留以下所示范围内的行df2:Code    HuntSeas      HunStart   HunEndA1  01-07 to 31-12    01-07-18  31-12-18B2  15-06 to 31-01    15-06-18  31-01-19C3  15-07 to 15-02    15-07-18  15-02-19D4  01-07 to 28-02    01-07-18  28-02-19E5  01-06 to 01-03    01-06-18  01-03-19..这就是我追求的,输出或df3看起来像这样:KanJ  DateFin   ClimReg   Prec  Temp    HuntSeasA1   17-07-18    16A      0.01  28.2   01-07 to 31-12B2   30-11-18    18B      3.5   3.9    15-06 to 31-01C3   15-07-18    13Z      6.3   3.9    15-07 to 15-02D4   01-01-19    12I       0    -2.0   01-07 to 28-02输出(df3)的行数应等于或少于输入(df1)的行数注意:我的日期字段是日期类型我尝试了几种方法这是另一个问题的答案:Select Pandas dataframe rows between two dates 然而,结果不是我所期望的。它为我提供了比输入数据框中更多的行 ( df1)由于我有很多年的工作时间(不仅是 2018 年),所以我最初的尝试是直接使用,从 Date 字段中df1选择考虑MONTH和的行。但是,我没有找到办法。是否可以在日期类型字段的月份和日期中遍历年份?YEAR['DateFin']我将不胜感激任何可以引导我回答这个问题的提示。谢谢
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

尝试merge使用query

df1.merge(df2, on = 'Code').query('DateFin >= HunStart and DateFin <= HunEnd')


查看完整回答
反对 回复 2023-02-22
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信