我试图计算两列之间的天数,其中每个列存储为TimeStamp对象并包含NaN值。当我试图进行计算时,我收到的是TypeError: cannot subtract DatetimeArray from ndarray
错误。我的问题是,当我拥有NaN值时,如何才能实现我想要的结果。对我来说最好的情况是,如果有一个NaN值,结果也应该是NaN。
import datetime
import pandas as pd
d1 = {'col1': pd.Timestamp(2017, 1, 1, 12), 'col2' : [np.nan]}
x= pd.DataFrame(d1)
x['col3'] = (x['col2'] - x['col1']).dt.days.astype('int64')
发布于 2022-11-02 11:39:54
将列转换为正确的格式: pd.to_datetime。使用'Int64‘而不是‘int64 64’。
通常,如果打印出np.nan类型,那么它将是一个浮动。如果这个类型适合你,那么把浮子类型。
import pandas as pd
import numpy as np
d1 = {'col1': [pd.Timestamp(2017, 1, 1, 12)], 'col2' : [np.nan]}
x= pd.DataFrame(d1)
x['col1'] = pd.to_datetime(x['col1'], errors='raise')
x['col2'] = pd.to_datetime(x['col2'], errors='raise')
x['col3'] = (x['col2'] - x['col1']).dt.days.astype('Int64')
print(x)
print(type(np.nan))
https://stackoverflow.com/questions/74281541
复制相似问题