【问题标题】:Subtract two Pandas DataFrame time indexes from each other?相互减去两个 Pandas DataFrame 时间索引?
【发布时间】:2016-02-18 02:46:11
【问题描述】:

我有两个 DataFrame(比如 AB),每个都有一个 pandas.tseries.index.DateTimeIndex 类的索引。

如何找到每行 DataFrame 之间的天数?

所以A.index - B.index 会给我类似的东西:

34
25
34

等等。

【问题讨论】:

  • IIUC 那么您需要致电to_pydatetime() 来实现您想要的,例如A.index.to_pydatetime() - B.index.to_pydatetime() 这将返回一系列时间增量

标签: python pandas time time-series


【解决方案1】:

假设两个索引包含相同数量的日期观察,您可以压缩它们并使用列表推导计算差异。

df1 = pd.DataFrame(np.random.randn(5, 2), index=pd.date_range('2015-1-1', periods=5, freq='M'))

df2 = pd.DataFrame(np.random.randn(5, 2), index=pd.date_range('2015-6-1', periods=5, freq='M'))

>>> [(d2.date() - d1.date()).days for d1, d2 in zip(df1.index, df2.index)]
Out[46]: [150, 153, 153, 153, 153]

【讨论】:

    猜你喜欢
    • 2015-04-09
    • 2019-01-12
    • 2017-06-17
    • 2018-01-27
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多