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

将 CSV 值转换为日期时间并在 python 中创建函数

将 CSV 值转换为日期时间并在 python 中创建函数

哆啦的时光机 2022-10-18 17:48:00
我已经尝试在这里搜索其他帖子,但似乎无法解决这个问题。我有一个 CSV 文件,其中 Year、Crash_Month、Crash_Day 和 Crash_Time 都是 CSV 'data_dict' 中的单独列。我正在尝试解决以下问题。我该怎么办?我尝试使用数据框,并且 pandas 转换为日期时间,但我不确定这是否是正确的方法。非常感谢这是我试图将日期时间分配给的数据框    year  month  day       time0   2000      1    1   4:30:59 1   2000      1    1   0:07:35 2   2000      1    1   4:51:37 3   2000      1    1   4:27:56 4   2000      1    1   2:16:31 5   2000      1    1   0:37:21 6   2000      1    1   0:52:57 7   2000      1    1   3:35:14 8   2000      1    1   2:41:58 9   2000      1    1   3:43:02 10  2000      1    1   3:49:19 11  2000      1    1   3:03:55 12  2000      1    1   4:46:01 13  2000      1    1   1:07:24 14  2000      1    1   8:29:04 15  2000      1    1   6:35:21 16  2000      1    1   6:06:25 17  2000      1    1   7:10:13 18  2000      1    1   10:57:24 19  2000      1    1   7:54:38到目前为止,我已经对此进行了编码。import pandas as pddf = pd.DataFrame({'year': (data_dict['Year']),                   'month': (data_dict['Crash_Month']),                   'day': (data_dict['Crash_Day']),                   'time': (data_dict['Crash_Time'])})date=pd.to_datetime(df[["year", "month", "day", "time"]],format='%YYYY%mm%dd, %HH%MM%SS')print(date)day_of_week = {0 : 'Monday',              1: 'Tuesday',              2: 'Wednesday',              3: 'Thursday',              4: 'Friday',              5: 'Saturday',              6: 'Sunday'}month_season= {1: 'Summer',              2: 'Summer',              3: 'Autumn',              4: 'Autumn',              5: 'Autumn',              6: 'Winter',              7: 'Winter',              8: 'Winter',              9: 'Spring',              10: 'Spring',              11: 'Spring',              12: 'Summer'}
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我们可以使用str.zfill和字符串连接pd.to_datetime来构建您的日期时间。


df2['date'] = pd.to_datetime(df2['year'].astype(str) 

               + df2['month'].astype(str).str.zfill(2)

               + df2['day'].astype(str).str.zfill(2)

               + ' '

               + df2['time'].astype(str),format='%Y%m%d %H:%M:%S'

              )


    year  month  day       time                date

0   2000      1    1   4:30:59  2000-01-01 04:30:59

1   2000      1    1   0:07:35  2000-01-01 00:07:35

2   2000      1    1   4:51:37  2000-01-01 04:51:37

3   2000      1    1   4:27:56  2000-01-01 04:27:56

4   2000      1    1   2:16:31  2000-01-01 02:16:31

5   2000      1    1   0:37:21  2000-01-01 00:37:21

6   2000      1    1   0:52:57  2000-01-01 00:52:57

7   2000      1    1   3:35:14  2000-01-01 03:35:14

8   2000      1    1   2:41:58  2000-01-01 02:41:58

9   2000      1    1   3:43:02  2000-01-01 03:43:02

10  2000      1    1   3:49:19  2000-01-01 03:49:19

11  2000      1    1   3:03:55  2000-01-01 03:03:55

12  2000      1    1   4:46:01  2000-01-01 04:46:01

13  2000      1    1   1:07:24  2000-01-01 01:07:24

14  2000      1    1   8:29:04  2000-01-01 08:29:04

15  2000      1    1   6:35:21  2000-01-01 06:35:21

16  2000      1    1   6:06:25  2000-01-01 06:06:25

17  2000      1    1   7:10:13  2000-01-01 07:10:13

18  2000      1    1  10:57:24  2000-01-01 10:57:24

19  2000      1    1   7:54:38  2000-01-01 07:54:38


查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

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