python - 使用 pandas 从开始时间和持续时间(分钟)计算结束时间。标准方法错误
问题描述
我有一个熊猫数据框:
开始时间 | 持续时间(分钟)
2018-03-01 16:37:09 | 155
2018-03-01 07:02:10 | 5
2018-03-01 13:07:09 | 250
2018-03-01 20:46:34 | 180
2018-03-01 07:45:49 | 5
我想要输出为
开始时间 | 结束时间2018-03-01 16:37:09 | 2018-03-01 19:12:09
2018-03-01 07:02:10 | 2018-03-01 07:07:10
2018-03-01 13:07:09 | 2018-03-01 17:17:09
2018-03-01 20:46:34 | 2018-03-01 23:46:34
2018-03-01 07:45:49 | 2018-03-01 07:50:49
我正在使用以下代码并根据需要获取 5-10 行的输出并发出警告,当我在完整数据集上应用相同的代码时,它显示错误为 **TypeError: Cannot compare type 'Timestamp' with type 'int' * *
time_temp['End_time'] = pd.DatetimeIndex(time_temp['Start_time']) + pd.to_timedelta(time_temp['Duration'], unit='m')
错误:无法将类型“时间戳”与“int”类型进行比较警告:/usr/local/lib/python3.5/dist-packages/ipykernel_launcher.py:1:SettingWithCopyWarning:试图在一个副本上设置一个值从 DataFrame 切片。尝试改用 .loc[row_indexer,col_indexer] = value
请参阅文档中的注意事项:http: //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy """启动 IPython 内核的入口点。
解决方案
您需要更改DatetimeIndex
为to_datetime
删除第一个错误:
无法将“时间戳”类型与“int”类型进行比较**
time_temp['End_time'] = (pd.to_datetime(time_temp['Start_time']) +
pd.to_timedelta(time_temp['Duration'], unit='m'))
print (time_temp)
Start_time Duration End_time
0 2018-03-01 16:37:09 155 2018-03-01 19:12:09
1 2018-03-01 07:02:10 5 2018-03-01 07:07:10
2 2018-03-01 13:07:09 250 2018-03-01 17:17:09
3 2018-03-01 20:46:34 180 2018-03-01 23:46:34
4 2018-03-01 07:45:49 5 2018-03-01 07:50:49
为了避免第二次SettingWithCopyWarning
显然需要copy
过滤,因为如果您df
稍后修改值,您会发现修改不会传播回原始数据(time_temp
),并且 Pandas 会发出警告:
time_temp = df[some filtering].copy()
应该还有个问题,看看pandas中settingwithcopywarning怎么处理
推荐阅读
- c# - 映射一个对象包含列表以列出 myDto 对象
- python - How to fix this pytube NameError in python?
- asp.net - How to use Configuration.Get() method properly?
- django - is there a way to paginate multiple querysets in django list view?
- python - PostgreSql 数据库上不存在 Heroku Django 网站关系
- scala - 如何在scala spark中按字母顺序对嵌套数组和结构的模式列进行排序?
- javascript - 再次单击时谷歌地图标记发生变化 - Fidde 附加
- python - 在 html django 中显示 python 函数结果
- amazon - 在不创建关键字的情况下获取关键字的出价建议
- python - python - 如何使用数组(x,y)制作的曲线找到数组x1的图像?