【问题标题】:With Pandas, can you only extract the date from a to_period function that shows a range of dates (2020-02-10/2020-02-16)?使用 Pandas,您是否只能从显示日期范围(2020-02-10/2020-02-16)的 to_period 函数中提取日期?
【发布时间】:2020-05-18 20:17:31
【问题描述】:

这是我打电话给to_period 时的日期格式

代码如下:

df.groupby(df.date.dt.to_period(freq='W'))

date
2020-02-10/2020-02-16
2020-02-17/2020-02-23
2020-02-24/2020-03-01
2020-03-02/2020-03-08

但是,我只想显示第一个日期,所以它看起来像这样:

date
2020-02-10
2020-02-17
2020-02-24
2020-03-02

我尝试使用strftime 只取年、月和日期。但是,这会选择第二天而不是同一行中的第一天。

我按周分组

df.groupby(df.date.dt.to_period(freq='W'))['interviews'].sum().reset_index().sort_values('date')

谢谢!

【问题讨论】:

  • 分组前的数据是什么样子的?
  • 嗨!添加了更改
  • 您可以粘贴输入数据框而不是添加图像吗?

标签: python pandas date


【解决方案1】:

您正在寻找.start_time。 我不确定你的数据,所以我可以使用你的 groupby 函数,但是像这样:

df.date.dt.to_period(freq='W').apply(lambda x: x.start_time)

df['week'] = df.date.dt.to_period(freq='W')
df.week.dt.start_time

【讨论】:

  • 非常感谢!!请问,作为一个新程序员,在这么多函数中找到最好的方法是什么?
  • 实践、堆栈溢出和文档。
【解决方案2】:

我认为你可以使用:

df['date'].str.split('/')

【讨论】:

    猜你喜欢
    • 2021-08-17
    • 2021-05-19
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多