首页 > 解决方案 > 当我减去两个熊猫数据框列时,我得到 NaN

问题描述

我有一个包含几列的数据框,我想获得包含时间的两列之间的时间差。首先,我使用 pd.to_datetime 将两列转换为 DateTime 对象,但是当我减去两列并将结果分配给新列时,最终得到的是 NaN 值。

ops_data_clean_1.loc['Package committed-time'] = 
pd.to_datetime(ops_data_clean_1['Package committed-time'])
ops_data_clean_1.loc['Flight launched-time'] = 
pd.to_datetime(ops_data_clean_1['Flight launched-time'])
ops_data_clean_1['time_to_launch'] = ops_data_clean_1.loc['Flight 
launched-time'] - ops_data_clean_1.loc['Package committed-time']
ops_data_clean_1.head()

标签: pandasdatetimedataframe

解决方案


我认为您的问题在于您使用的 .loc 函数。

.loc['Package committed-time'] 基本上说,选择 ROW,其值为 'Package committed-time',它们没有。

但是您想选择具有该名称的列。使用简单的 ops_data_clean_1['Package committed-time'] 访问列或 ops_data_clean_1.loc[:,'Package committed-time']

更多关于 .loc 的信息:在此处输入链接描述


推荐阅读