我所说的计算和我所提到的计算日之间的差异。所以我有下一个数据帧
df_test= pd.DataFrame([{'Mention Date': pd.Timestamp('2015-09-17 12:47:06'),
'Publication Date': pd.Timestamp('1684-01-01 00:00:00')},
{'Mention Date': pd.Timestamp('2015-09-17 12:47:06'),
'Publication Date': pd.Timestamp('2013-01-01 00:00:00')},
{'Mention Date': pd.Timestamp('2015-09-17 12:47:06'),
'Publication Date': pd.Timestamp('1724-01-01 00:00:00')},
{'Mention Date': pd.Timestamp('2015-01-01'),
'Publication Date': pd.Timestamp('1722-09-22 00:12:43.1453')},
{'Mention Date': pd.Timestamp('2015-01-01'),
'Publication Date': pd.Timestamp('1722-09-22 00:00:00')}])
现在我要计算“提及日期”和“出版日期”之间的差异。在
^{pr2}$如您所见,第0行和第4行的响应是错误的。差别应该是正的。在
如果我只差一个值,那么响应是正的。请参阅下面的代码。在
print df_test.loc[0]["Mention Date"] - df_test.loc[0]["Publication Date"]
print df_test.loc[3]["Mention Date"] - df_test.loc[3]["Publication Date"]
print type(df_test.loc[0]["Mention Date"] - df_test.loc[0]["Publication Date"])
121154 days, 12:47:06
106751 days 23:47:16.854700
<type 'datetime.timedelta'>
但结果是不同类型的。在
但是,根据https://pandas.pydata.org/pandas-docs/stable/timeseries.html#timestamp-limitations,限制是时间戳('1677-09-21 00:12:43.145225'),这不应该是我的情况。在
我有两个问题:
更新:我发现了pd时间增量https://pandas.pydata.org/pandas-docs/stable/timedeltas.html#timedelta-limitations 第一个问题仍然存在。如何克服这种局限性?谢谢您!在
由于有时间戳的限制,所以用迭代法进行减法,即
应该被认为是一个bug?没有,因为熊猫社区特别提到
由于pandas以纳秒分辨率表示时间戳,因此可以使用64位整数表示的时间跨度限制为大约584年:。这是矢量化操作的合法理由
相关问题 更多 >
编程相关推荐