python - 使用 Pandas 在 Python 中解析时间戳不会返回 datetime64
问题描述
我正在尝试将 csv 文件解析为 dataFrame,因为我需要对时间戳进行一些分析。csv 文件结构良好,我可以使用 pd.read_csv 毫无问题地读取它:
import pandas as pd
import datetime as dt
df = pd.read_csv('trip_data.csv', low_memory=False, parse_dates=['datetime'], infer_datetime_format=True)
但是,即使将 parse_dates 和 infer_datetime_format 作为参数,我仍然会得到一个不解析文件时间戳的数据帧:
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8771828 entries, 0 to 8771827
Data columns (total 3 columns):
UserID int64
datetime object
amount float64
dtypes: float64(1), int64(1), object(1)
memory usage: 1.1+ GB
因此,当我尝试获取最短日期时,例如:
print(df['datetime'].min())
我得到了一个不正确的答案,因为我可以看到我的 df 上的最小时间戳是 2018-01-01 00:08:26 并且我得到 2018-01-27 04:06:37 最低...我错过了什么吗,或者有没有办法以另一种方式将其转换为 datetime64 ?
这是我的 csv 文件的一个峰值:
UserID,datetime,amount
1,2018-01-01 00:21:05,5.8
1,2018-01-01 00:44:55,15.3
1,2018-01-01 00:08:26,8.3
1,2018-01-01 00:20:22,34.8
1,2018-01-01 00:09:18,16.55
1,2018-01-01 00:29:29,5.8
1,2018-01-01 00:38:08,12.35
1,2018-01-01 00:49:29,6.3
解决方案
您可以手动将列转换为日期时间
df['datetime'] = pd.to_datetime(df['datetime'])
进而
print(df['datetime'].min())
推荐阅读
- python - anaconda 的 Mpi 安装失败
- java - Cloud Firestore 通过引用从另一个集合获取集合
- excel - 将最后一行编号添加到 VBA 中的 excel 公式
- sql - 将 ROW_NUMBER() 与派生表一起使用
- python - pandas 采用整数类型数据,不允许设置文本
- linux - 如何使用内置的 bash 的 test [ ] 在数组中搜索变量?
- php - 碳 12 屋格式
- python - 给定两列的设置值
- c - 解码后的音频数据如何存储在 ffmpeg AVFrame 中?
- vba - 如何更改 PowerPoint 2016 VBA 中 SlideMaster.Height 的值?