日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python时间序列数据分析统计服_python数据分析之:时间序列二

發布時間:2023/12/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python时间序列数据分析统计服_python数据分析之:时间序列二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

將Timestamp轉換為Period

通過使用to_period方法,可以將由時間戳索引的Series和DataFrame對象轉換為以時期索引

rng=pd.date_range('1/1/2000',periods=3,freq='M')

ts=Series(randn(3),index=rng)

print(ts)

pts2=ts.to_period(freq='M')

print(pts2)

結果如下:ts是每個月最后一天的日期,pts2則是體現的是以月為周期的日子

2000-01-31????0.990097

2000-02-29????0.439761

2000-03-31???-3.395317

Freq:?M,?dtype:?float64

2000-01????0.990097

2000-02????0.439761

2000-03???-3.395317

Freq:?M,?dtype:?float64

如果要轉換回時間戳,則可以使用pts2.to_timestamp(how='end')的方法

2000-01-31???-0.489228

2000-02-29???-1.583283

2000-03-31???-2.414735

Freq:?M,?dtype:?float64

重采樣及頻率轉換

將高頻率數據轉換為低頻率稱為降采樣,而將低頻率數據轉換為高頻率稱為升采樣。pandas中的resample方法就可以進行這種頻率轉換

rng=pd.date_range('1/1/2000',periods=50,freq='D')

ts=Series(randn(50),index=rng)

print(ts.resample('M').mean())

運行結果如下,在這里ts是以天級的數據,但是通過resample(‘M’)轉換為月度的數據,且對屬于同一個月的數據進行求平均的計算。得到的就是每個月的平均值

2000-01-31???-0.276265

2000-02-29???-0.052926

Freq:?M,?dtype:?float64

降采樣:

在降采樣的時候,需要考慮兩樣東西:

1?各區間哪邊是閉合的

2?如何標記各個聚合面元,用區間的開頭還是末尾

來看如下代碼:

rng=pd.date_range('1/1/2000',periods=12,freq='T')

ts=Series(np.arange(12),index=rng)

print(ts)

2000-01-01?00:00:00?????0

2000-01-01?00:01:00?????1

2000-01-01?00:02:00?????2

2000-01-01?00:03:00?????3

2000-01-01?00:04:00?????4

2000-01-01?00:05:00?????5

2000-01-01?00:06:00?????6

2000-01-01?00:07:00?????7

2000-01-01?00:08:00?????8

2000-01-01?00:09:00?????9

2000-01-01?00:10:00????10

2000-01-01?00:11:00????11

print(ts.resample('5min',?closed='left').sum())

左閉合的時候統計是以00:00:00為開始的5分鐘周期

2000-01-01?00:00:00????10

2000-01-01?00:05:00????35

2000-01-01?00:10:00????21

print(ts.resample('5min',closed='right').sum())

右閉合的時候統計是以00:00:00為結束的5分鐘周期,因為時間提前到了1999-12-31?23:55:00這個時候。

1999-12-31?23:55:00?????0

2000-01-01?00:00:00????15

2000-01-01?00:05:00????40

2000-01-01?00:10:00????11

因此左閉合還是右閉合取決與時間的開始和結束

在金融領域中有一種無所不在的時間序列聚合方式,即計算各面元的4個值,第一個值open:開盤,最后一個值close:收盤,最大值high:最高,最小值low:最低

ts.resample('5min',?closed='left').ohlc()

open??high??low??close

2000-01-01?00:00:00?????0?????4????0??????4

2000-01-01?00:05:00?????5?????9????5??????9

2000-01-01?00:10:00????10????11???10?????11

總結

以上是生活随笔為你收集整理的python时间序列数据分析统计服_python数据分析之:时间序列二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。