Pandas Period(~)
構造函數創建一個新的 Period
對象,該對象表示特定的時間跨度或持續時間。
例子
基本用法
要創建 Period
對象,隻需調用其構造函數,如下所示:
p = pd.Period("2020")
p
Period('2020', 'A-DEC')
這裏,"A-DEC"
意味著時間跨度設置為年度的,跨度於 12 月結束。在 Pandas 術語中,我們經常說頻率是每年的。
輔助屬性
Period
對象具有許多有用的屬性:
print("Starting time:", p.start_time)
print("Ending time:", p.end_time)
print("Number of months:", p.month)
print("Number of weeks:", p.week)
Starting time: 2020-01-01 00:00:00
Ending time: 2020-12-31 23:59:59.999999999
Number of months: 12
Number of weeks: 53
這裏, start_time
和 end_time
的類型為 timestamp
。
日期算術
我們還可以像這樣執行日期算術:
p = pd.Period("2020")
p2 = p + 1
p2
Period('2021', 'A-DEC')
此處,1
添加到年份中,因為如上所述,頻率設置為 A
(每年)。
注意p2
的開始時間和結束時間為:
print("Starting time:", p2.start_time)
print("Ending time:", p2.end_time)
Starting time: 2021-01-01 00:00:00
Ending time: 2021-01-31 23:59:59.999999999
注意開始是如何不2020
,也就是說效果+1
是一個轉移而不是時間跨度的擴大。
設置頻率參數
默認情況下,freq
參數是根據您指定的日期字符串推斷的 - 將使用日期字符串中的最小時間單位。
例如:
p = pd.Period("2020-12")
p
Period('2020-12', 'M')
在這裏,我們將 M
(月)設置為頻率,因為日期字符串中的最低時間是一個月(即 12
)。
我們可以明確指示使用的頻率,而不是從日期字符串推斷。我們通過傳入 freq
參數來做到這一點:
p = pd.Period("2020", freq="M")
p
Period('2020-01', 'M')
此處,頻率為 M
(月),但如果我們沒有指定 freq
,則頻率將為 A
(每年)。
現在,開始時間和結束時間捕獲一個月:
print("Starting time:", p.start_time)
print("Ending time:", p.end_time)
Starting time: 2020-01-01 00:00:00
Ending time: 2020-01-31 23:59:59.999999999
為DataFrame設置周期索引
您可以使用 PeriodIndex
對象將句點設置為 DataFrame 的索引,該對象的構造函數采用與 Period
的構造函數完全相同的參數:
index_period = pd.PeriodIndex(["2020-12-25", "2020-12-26"], freq="D")
index_period
PeriodIndex(['2020-12-25', '2020-12-26'], dtype='period[D]', freq='D')
在這裏,我們傳入日期字符串列表來構造 PeriodIndex
。然後我們可以使用 PeriodIndex
作為DataFrame的索引:
pd.DataFrame({"A":["a","b"]}, index=index_period)
A
2020-12-25 a
2020-12-26 b
相關用法
- Python Pandas PeriodIndex構造函數用法及代碼示例
- Python Sympy Permutation.list()用法及代碼示例
- Python Sympy Permutation.rank_nonlex()用法及代碼示例
- Python Sympy Permutation.next_lex()用法及代碼示例
- Python Sympy Permutation.is_odd()用法及代碼示例
- Python Sympy Permutation.support()用法及代碼示例
- Python Sympy Permutation.runs()用法及代碼示例
- Python Sympy Permutation.signature()用法及代碼示例
- Python Sympy Permutation.max()用法及代碼示例
- Python Sympy Permutation.mul_inv()用法及代碼示例
- Python Sympy Permutation.unrank_nonlex()用法及代碼示例
- Python Sympy Permutation.is_Empty()用法及代碼示例
- Python Sympy Permutation.is_Identity()用法及代碼示例
- Python Sympy Permutation.random()用法及代碼示例
- Python Sympy Permutation.rmul_with_af()用法及代碼示例
- Python Sympy Permutation.unrank_lex()用法及代碼示例
- Python Sympy Permutation.transpositions()用法及代碼示例
- Python Sympy Permutation.rmul()用法及代碼示例
- Python Sympy Permutation.next_trotterjohnson()用法及代碼示例
- Python Sympy Permutation.is_even()用法及代碼示例
- Python Tableau PersonalAccessTokenAuth用法及代碼示例
- Python Sympy Permutation.order()用法及代碼示例
- Python Django PercentRank用法及代碼示例
- Python Sympy Permutation.length()用法及代碼示例
- Python Sympy Permutation.unrank_trotterjohnson()用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas | Period constructor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。