下面是我的資料框df,其中包含日期時間索引。
Open High Low Close Volume Currency
Date
2021-04-20 14526.70 14526.95 14207.30 14296.40 456704720896 INR
2021-04-22 14219.15 14424.75 14151.40 14406.15 516985257984 INR
2021-04-23 14326.35 14461.15 14273.30 14341.35 476613607424 INR
2021-04-26 14449.45 14557.50 14421.30 14485.00 448533331968 INR
2021-04-27 14493.80 14667.55 14484.85 14653.05 442211696640 INR
... ... ... ... ... ... ...
2022-04-19 17258.95 17275.65 16824.70 16958.65 401400000 INR
2022-04-20 17045.25 17186.90 16978.95 17136.55 286070016 INR
2022-04-21 17234.60 17414.70 17215.50 17392.60 285200000 INR
2022-04-22 17242.75 17315.30 17149.20 17171.95 262740000 INR
2022-04-25 17006.10 17052.10 16889.75 16953.95 275571 INR
我想計算 datetime.index 列中兩個連續“日期”之間的差異。
我嘗試使用下面的代碼,但如果兩個日期之間的差異很大,它就不起作用。
代碼:
df['date'] = df.index.day #Extract day from datetime.index
df['difference'] = df['date'].diff()
df
輸出
Open High Low Close Volume Currency date difference
Date
2021-04-20 14526.70 14526.95 14207.30 14296.40 456704720896 INR 20 NaN
2021-04-22 14219.15 14424.75 14151.40 14406.15 516985257984 INR 22 2.0
2021-04-23 14326.35 14461.15 14273.30 14341.35 476613607424 INR 23 1.0
2021-04-26 14449.45 14557.50 14421.30 14485.00 448533331968 INR 26 3.0
2021-04-27 14493.80 14667.55 14484.85 14653.05 442211696640 INR 27 1.0
... ... ... ... ... ... ... ... ...
2022-04-19 17258.95 17275.65 16824.70 16958.65 401400000 INR 19 1.0
2022-04-20 17045.25 17186.90 16978.95 17136.55 286070016 INR 20 1.0
2022-04-21 17234.60 17414.70 17215.50 17392.60 285200000 INR 21 1.0
2022-04-22 17242.75 17315.30 17149.20 17171.95 262740000 INR 22 1.0
2022-04-25 17006.10 17052.10 16889.75 16953.95 275571 INR 25 3.0
252 rows × 8 columns
請讓我知道計算熊貓連續兩行之間的天數差異的解決方案
uj5u.com熱心網友回復:
如果每次Currency使用需要計數值DataFrameGroupBy.diff:
df['difference'] = df.index.to_series().groupby(df['Currency']).diff().dt.days
如果需要沒有團體使用Series.diff:
df['difference'] = df.index.to_series().diff().dt.days
uj5u.com熱心網友回復:
對于 Currency 設定的計數值,您需要使用 groupby
df['difference'] = df.index.to_series().groupby(df['Currency']).diff().dt.days
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/464334.html
上一篇:從pandasgroupbyfirst/last獲取索引值
下一篇:按用戶合并期間
