【问题标题】:How to convert a column in the pandas dataframe from UTC to datetime64?如何将 pandas 数据框中的列从 UTC 转换为 datetime64?
【发布时间】:2019-11-27 22:45:31
【问题描述】:

我在数据框中有一列当前是一个字符串: “2015 年 4 月 17 日晚上 8:03:45” 我需要基于此列创建其他列 ['dayofweek','dayofmonth']

我找不到可以帮助我为 60 000 000 行执行此操作的快速解决方案,请帮助)

【问题讨论】:

标签: pandas date datetime


【解决方案1】:

您可以创建一个函数来将数据框中的日期转换为您需要的输出,然后将结果添加为数据框中的新列,如下所示:

df

    numbers time
0   1       2019-01-01
1   2       2019-01-02
2   3       2019-01-03
3   4       2019-01-04
4   5       2019-01-05
5   6       2019-01-06
6   7       2019-01-07
7   8       2019-01-08
8   9       2019-01-09
9   10      2019-01-10
10  11      2019-01-11
11  12      2019-01-12

创建将数据列应用于数据框的函数

def day_of_the_week(value):
    return value.strftime("%A")

def day_of_the_month(value):
    return value.day

通过将函数应用于数据框日期列来创建新列

df['day_of_the_week'] = df['time'].apply(day_of_the_week)
df['day_of_the_month'] = df['time'].apply(day_of_the_month)

获取更新 Datafame

df
    numbers time        day_of_the_week day_of_the_month
0   1       2019-01-01  Tuesday         1
1   2       2019-01-02  Wednesday       2
2   3       2019-01-03  Thursday        3
3   4       2019-01-04  Friday          4
4   5       2019-01-05  Saturday        5
5   6       2019-01-06  Sunday          6
6   7       2019-01-07  Monday          7
7   8       2019-01-08  Tuesday         8
8   9       2019-01-09  Wednesday       9
9   10      2019-01-10  Thursday        10
10  11      2019-01-11  Friday          11
11  12      2019-01-12  Saturday        12

【讨论】:

  • 谢谢!只是好奇:是否可以做同样的事情放置原始函数而不是创建函数或者没有使用它?
猜你喜欢
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2017-01-05
  • 2016-09-18
  • 2018-03-25
  • 1970-01-01
  • 2016-08-20
相关资源
最近更新 更多