Pandas interval_range(~)
方法返回固定頻率的 IntervalIndex
。
注意
如果您正在處理與時間相關的數據,請選擇使用 period_range(~)
。
參數
1.start
| numeric
或 datetime-like
| optional
範圍的下限。默認情況下,start=None
。
2. end
| numeric
或 datetime-like
| optional
範圍的上限。默認情況下,end=None
。
3. periods
| int
| optional
所需的日期數量。默認情況下,periods=True
。
警告
在上述三個參數中,必須指定兩個 - 不能少,不能多。
4. freq
| string
或 DateOffset
| optional
間隔的長度。默認情況下,如果 start
是數字,則為 freq=1
,否則為 freq="D"
(長度為一天)。
5. name
| string
| optional
分配給結果 IntervalIndex
的名稱。默認情況下,name=None
。
6. closed
| string
| optional
是否使邊界包含/排除:
值 |
說明 |
---|---|
|
|
|
|
|
兩個端點都包含在內。 |
|
兩個端點都是互斥的。 |
默認情況下,closed="right"
。
返回值
一個 IntervalIndex
。
例子
基本用法
數字
要使用簡單的數字創建間隔範圍:
pd.interval_range(start=5, end=8)
IntervalIndex([(5, 6], (6, 7], (7, 8]],
closed='right',
dtype='interval[int64]')
這裏,返回的IntervalIndex
包含3個間隔。請注意, (5,6]
僅表示 5 < a <=6
。
日期
要創建從 2020-12-25
(包含)到 2020-12-28
(不包含)的日期間隔序列:
pd.interval_range(start=pd.Timestamp("2020-12-25"), end=pd.Timestamp("2020-12-28"))
IntervalIndex([(2020-12-25, 2020-12-26],
(2020-12-26, 2020-12-27],
(2020-12-27, 2020-12-28]],
closed='right',
dtype='interval[datetime64[ns]]')
默認的step-size(頻率)是一天,因此這就是我們在輸出中看到freq="D"
的原因。
指定期間
要創建 3 個數字間隔的序列:
pd.interval_range(start=5, periods=3)
IntervalIndex([(5, 6], (6, 7], (7, 8]],
closed='right',
dtype='interval[int64]')
要從2020-12-25
(含)創建 3 個日期間隔的序列:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3)
IntervalIndex([(2020-12-25, 2020-12-26],
(2020-12-26, 2020-12-27],
(2020-12-27, 2020-12-28]],
closed='right',
dtype='interval[datetime64[ns]]')
指定頻率
對於數字間隔,默認為 freq=1
,這意味著間隔寬度為 1
:
pd.interval_range(start=5, periods=3) # freq=1
IntervalIndex([(5, 6], (6, 7], (7, 8]],
closed='right',
dtype='interval[int64]')
將間隔寬度設置為 2:
pd.interval_range(start=5, periods=3, freq=2)
IntervalIndex([(5, 7], (7, 9], (9, 11]],
closed='right',
dtype='interval[int64]')
對於時間序列,默認為 freq="D"
,這意味著間隔寬度為一天:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3) # freq="D"
IntervalIndex([(2020-12-25, 2020-12-26], (2020-12-26, 2020-12-27], (2020-12-27, 2020-12-28]],
closed='right',
dtype='interval[datetime64[ns]]')
要將間隔寬度設置為 2 天:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3, freq="2D")
IntervalIndex([(2020-12-25, 2020-12-27],
(2020-12-27, 2020-12-29],
(2020-12-29, 2020-12-31]],
closed='right',
dtype='interval[datetime64[ns]]')
指定名稱
為生成的 IntervalIndex
命名:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3, name="My Dates")
IntervalIndex([(2020-12-25, 2020-12-26],
(2020-12-26, 2020-12-27],
(2020-12-27, 2020-12-28]],
closed='right',
name='My Dates',
dtype='interval[datetime64[ns]]')
請注意我們如何將 name="My Dates"
編碼到 IntervalIndex
中。
指定關閉
默認情況下,下限不包括在內,上限包括在內 ( closed="right"
):
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3) # closed="right"
IntervalIndex([(2020-12-25, 2020-12-26],
(2020-12-26, 2020-12-27],
(2020-12-27, 2020-12-28]],
closed='right',
dtype='interval[datetime64[ns]]')
要使下限包含在內且上限不包含,請設置 closed="left"
:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3, closed="left")
IntervalIndex([[2020-12-25, 2020-12-26),
[2020-12-26, 2020-12-27),
[2020-12-27, 2020-12-28)],
closed='left',
dtype='interval[datetime64[ns]]')
要使兩個邊界都包含在內,請設置 closed="both"
:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3, closed="both")
IntervalIndex([[2020-12-25, 2020-12-26],
[2020-12-26, 2020-12-27],
[2020-12-27, 2020-12-28]],
closed='both',
dtype='interval[datetime64[ns]]')
要使兩個邊界互斥,請設置 closed="neither"
:
pd.interval_range(start=pd.Timestamp("2020-12-25"), periods=3, closed="neither")
IntervalIndex([(2020-12-25, 2020-12-26),
(2020-12-26, 2020-12-27),
(2020-12-27, 2020-12-28)],
closed='neither',
dtype='interval[datetime64[ns]]')
使用IntervalIndex初始化DataFrame
IntervalIndex
可以用作DataFrame的索引:
idx = pd.interval_range(start=5, end=7)
pd.DataFrame({"A":[3,4],"B":[5,6]}, index=idx)
A B
(5, 6] 3 5
(6, 7] 4 6
相關用法
- Python scipy interpolate.CubicHermiteSpline.solve用法及代碼示例
- Python scipy interpolate.CubicSpline.solve用法及代碼示例
- Python scipy interpolate.PchipInterpolator.solve用法及代碼示例
- Python scipy interpolate.Akima1DInterpolator.solve用法及代碼示例
- Python NumPy interp方法用法及代碼示例
- Python scipy integrate.trapz用法及代碼示例
- Python integer轉string用法及代碼示例
- Python scipy integrate.cumtrapz用法及代碼示例
- Python integer轉roman用法及代碼示例
- Python scipy integrate.simps用法及代碼示例
- Python int轉exponential用法及代碼示例
- Python int.from_bytes用法及代碼示例
- Python int構造函數用法及代碼示例
- Python int.bit_length用法及代碼示例
- Python int.bit_count用法及代碼示例
- Python int.to_bytes用法及代碼示例
- Python int()用法及代碼示例
- Python BeautifulSoup insert方法用法及代碼示例
- Python inspect.Parameter.replace用法及代碼示例
- Python inspect.Parameter.kind用法及代碼示例
- Python inspect.Signature.from_callable用法及代碼示例
- Python Django index用法及代碼示例
- Python inspect.isasyncgenfunction用法及代碼示例
- Python inspect.isawaitable用法及代碼示例
- Python BeautifulSoup insert_after方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas | interval_range method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。