Anu*_*leo 3 timestamp dataframe pandas
这是数据集数据集的一部分
- 订购数量 时间戳 药品名称 实际价格
14162 3 2020-10-17 10:06:33.790000+00:00 27699 263.82
15747 2 2020-10-28 09:14:46.690000+00:00 27699 175.88 24 866 2
2020-12- 27 14:16:26.259000+00:00 27699 175.88
25962 2 2021-01-03 18:35:04.337000+00:00 27699 175.88 29188
2 2021-01-28 08:17:40.975 000+00:00 27699 175.88
29565 2 2021-02-02 04:15:58.496000+00:00 27699 175.88
30863 2 2021-02-09 07:19:44.897000+00:00 27699 175.88
33931 2 2021-03-02 03:3 9:52.087000+00:00 27699 175.88
35537 2 2021-03-13 15:19:58.131000+00:00 27699 175.88 37429
1 2021-03-27 05:15:31.772000+00:00 27699 87.94
470 99 1 2021-05-03 07:16:10.483000 +00:00 27699 87.94
49135 2 2021-05-09 08:03:35.300000+00:00 27699 175.88
66057 1 2021-07-07 07:50:21.414000+00:00 27699 87.9 4 67937 1 2021-07-13
06 :44:20.875000+00:00 27699 87.94
`
import pandas as pd
data = pd.read_csv("data.csv")
data["Time Stamp"] = pd.to_datetime(data["Time Stamp"])
t1 = pd.Timestamp("2020-06-01 00:00:00.054000+00:00")
t2 = t1.date() + pd.DateOffset(months = 6)
data[(data["Time Stamp"] > t1) & (data["Time Stamp"] < t2)]
`
Run Code Online (Sandbox Code Playgroud)
TypeError:dtype=datetime64[ns,UTC] 和时间戳之间的比较无效
为什么我会收到此错误?
尝试:
而不是t2在比较中使用t2.tz_localize('utc'):
data[(data["Time Stamp"] > t1) & (data["Time Stamp"] < t2.tz_localize('utc'))]
Run Code Online (Sandbox Code Playgroud)
或者
使用normalize()方法代替date()方法:
t2=t1.normalize() + pd.DateOffset(months = 6)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10672 次 |
| 最近记录: |