av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Pandas中時(shí)間序列的處理大全

瀏覽:2日期:2022-06-17 11:16:21
目錄一、時(shí)間序列數(shù)據(jù)的生成二、Pandas設(shè)置索引三、 時(shí)間序列數(shù)據(jù)的截取四、Pandas重復(fù)值處理4.1 查詢(xún)是否有重復(fù)值4.2 去除重復(fù)值五、Pandas缺失值處理5.1 缺失值查詢(xún)六、pandas統(tǒng)計(jì)計(jì)算方法七、Pandas數(shù)據(jù)重采樣總結(jié)一、時(shí)間序列數(shù)據(jù)的生成

pd.date_ranges生成時(shí)間序列

time格式:年月日分隔符號(hào)可以是'-','/',空格這三種格式(年月日、日月年、月日年都可以);時(shí)分秒只能用':'分隔,順序只能是時(shí)分秒。 start:起始時(shí)間(time) end:終止時(shí)間(time) periods:期數(shù)(int),使用時(shí)只能出現(xiàn)start或者end,兩者不能同時(shí)出現(xiàn) freq:頻率(numY,num年;numM,num月;numD,num日),詳細(xì)參數(shù)見(jiàn)下表 頻率別名 描述 B 工作日頻率 C 自定義工作日頻率 D 日歷日頻率 W 每周頻率 M 每月最后一個(gè)日歷日 SM 每半個(gè)月最后一個(gè)日歷日(15日和月末) BM 每月最后一個(gè)工作日 CBM 自定義每月最后一個(gè)工作日 MS 每月第一個(gè)日歷日 SMS 每半月第一個(gè)日歷日(第1和第15) BMS 每月第一個(gè)工作日 CBMS 自定義每月第一個(gè)工作日 Q 每季度最后一個(gè)月的最后一個(gè)日歷日 BQ 每季度最后一個(gè)月的最后一個(gè)工作日 QS 每季度最后一個(gè)月的第一個(gè)日歷日 BQS 每季度最后一個(gè)月的第一個(gè)工作日 A, Y 每年的最后一個(gè)日歷日 BA, BY 每年的最后一個(gè)工作日 AS, YS 每年的第一個(gè)日歷日 BAS, BYS 每年的第一個(gè)工作日 BH 工作日按“時(shí)”計(jì)算頻率 H 每小時(shí)頻率 T, min 每分鐘頻率 S 每秒頻率 L, ms 毫秒頻率 U, us 微秒頻率 N 納秒頻率

import pandas as pdimport numpy as npdf = pd.DataFrame( data=np.random.randint(1,20,10), index=pd.date_range(start='20/01/2021',periods=10,freq='M'),) print(df)

02021-01-31 12021-02-28 62021-03-31 122021-04-30 52021-05-31 72021-06-30 42021-07-31 92021-08-31 72021-09-30 182021-10-31 10

0count 10.00000mean 7.90000std 4.72464min 1.0000025% 5.2500050% 7.0000075% 9.75000max 18.00000

二、Pandas設(shè)置索引

創(chuàng)建時(shí)添加索引

pd.DataFrame(...,index=[],...)

df.set_index使用現(xiàn)有列設(shè)置索引

keys:列名,多個(gè)列用[name1,name2] drop:設(shè)置升序(True)、降序(False) inplace:替換原變量(True),不替換(False)

df.set_index(['X'],inplace=True)df.set_index(['X','Y'],inplace=True)

df.reset_index可以還原索引

df.reset_index('X')三、 時(shí)間序列數(shù)據(jù)的截取

df.truncate過(guò)濾數(shù)據(jù)

before:過(guò)濾之前的數(shù)據(jù)(time) after:過(guò)濾之后的數(shù)據(jù)(time) axis:列(columns),行(index)

df.truncate(before='2021-5',after='2021-9')

02021-05-31 72021-06-30 42021-07-31 92021-08-31 7

df.loc索引過(guò)濾

df.loc['2021-5':]

02021-05-31 72021-06-30 42021-07-31 92021-08-31 72021-09-30 182021-10-31 10

四、Pandas重復(fù)值處理4.1 查詢(xún)是否有重復(fù)值

duplicated()方法判斷

# 判斷dataframe數(shù)據(jù)整行是否重復(fù)df.duplicated()# dataframe數(shù)據(jù)某列是否重復(fù)df.columns_name.duplicated()# 判斷dataframe數(shù)據(jù)多列數(shù)據(jù)是否重復(fù)(多列組合查)df.duplicated(subset = [’n1’,’n2’])

groupby().count()

df.groupby(’columns’).count()>14.2 去除重復(fù)值

drop_duplicats參數(shù)說(shuō)明:

參數(shù)subset:用來(lái)指定特定的列,默認(rèn)所有列 參數(shù)keep:first和last表示是選擇最前一項(xiàng)還是最后一項(xiàng)保留,默認(rèn)first 參數(shù)inplace:是直接在原來(lái)數(shù)據(jù)上修改還是保留一個(gè)副本,默認(rèn)為False

df.drop_duplicats(subset=[’name1’,’name2’],keep=’last’,inplace=True)

按照index索引去重

df.index.duplicated(keep=’last’)五、Pandas缺失值處理5.1 缺失值查詢(xún)

df.info查詢(xún)各列的信息

df.info()# res<class ’pandas.core.frame.DataFrame’>Int64Index: 10 entries, 19 to 14Data columns (total 2 columns): # Column Non-Null Count Dtype--- ------ -------------- ----- 0 Y 10 non-null int32 1 Z 10 non-null int32dtypes: int32(2)memory usage: 160.0 bytes

df.isnull判斷是否是空值

df.isnull().any() # 篩選出缺失值的列df.isna().any() # 篩選出缺失值的列

df.empty判斷是否有空值

df.empty

5.2 缺失值填充

ffill 空值取前面的值

df.ffill()

bfill 空值取后面的值

df.bfill()

fillna 指定值填充

df.fillna(1)df.fillna({’A’: 0, ’B’: 1, ’C’: 2, ’D’: 3}) # 指定列填充

interpolate 插值

df.interpolate(method=‘linear’, axis=0, limit=None, inplace=False, limit_direction=‘forward’, limit_area=None, downcast=None, **kwargs) method參數(shù)解釋 linear:忽略索引,線(xiàn)性等距插值time:在以天或者更高頻率的數(shù)據(jù)上插入給定的時(shí)間間隔長(zhǎng)度數(shù)據(jù)index, values:使用索引的實(shí)際數(shù)值pad:使用現(xiàn)有值填寫(xiě)NaNnearest, zero, slinear, quadratic, cubic, spline, barycentric, polynomial:傳遞給scipy.interpolate.interp1d。這些方法使用索引的數(shù)值。polynomial和spline都要求您還指定一個(gè)順序(int),例如 ,df.interpolate(method=‘polynomial’, order=5)krogh,piecewise_polynomial,spline,pchip,akima:包括類(lèi)似名稱(chēng)的SciPy插值方法。from_derivatives:指 scipy.interpolate.BPoly.from_derivatives,它替換了scipy 0.18中的’piecewise_polynomial’插值方法 axis : {0或’index’,1或’columns’,None},默認(rèn)為None;沿軸進(jìn)行interpolate。 limit: int;要填充的連續(xù)NaN的最大數(shù)量。必須大于0 inplace : bool,默認(rèn)為False;如果可以,更新現(xiàn)有數(shù)據(jù) limit_direction : {‘forward’,‘backward’,‘both’},默認(rèn)為’forward’;如果指定了限制,則將沿該方向填充連續(xù)的NaN limit_area : {None, ‘inside’, ‘outside’}, 默認(rèn)為None;如果指定了限制,則連續(xù)的NaN將填充此限制。 None:無(wú)填充限制 inside:僅填充有效值包圍的NaN outside: 僅在有效值之外填充N(xiāo)aN

dff.interpolate(method=’polynomial’,order=2)

刪除缺失值

df.dropna(how=’any’)六、pandas統(tǒng)計(jì)計(jì)算方法方法 說(shuō)明 count 非NaN值的數(shù)理 describe 列計(jì)算統(tǒng)計(jì)匯總 min、max 最小值和最大值 argmin、argmax 最小值和最大值索引(int) idxmin、idxmax 最小值和最大值索引 quantile 分位數(shù)([0,1],0.25下四分為) sum 總和 mean 均值 median 0.5分位數(shù),中位數(shù) mad 根據(jù)均值計(jì)算絕對(duì)離差 var 方差 std 標(biāo)準(zhǔn)差

df.describe()七、Pandas數(shù)據(jù)重采樣

重采樣就是基于時(shí)間數(shù)據(jù)由一個(gè)頻率轉(zhuǎn)換到另一個(gè)頻率的方法,分為降采樣和升采樣。

降采樣:高頻率===>低頻率,如頻率日變?yōu)樵拢枰付ńy(tǒng)計(jì)函數(shù)如sum

df.resample('M').mean()

升采樣:低頻率===>高頻率,如頻率月變?yōu)槿眨枰M(jìn)行缺失值填充

df.resample('D').asfreq().fillna(1)總結(jié)

到此這篇關(guān)于Pandas中時(shí)間序列處理的文章就介紹到這了,更多相關(guān)Pandas時(shí)間序列處理內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Pandas
相關(guān)文章:
主站蜘蛛池模板: 欧美日韩大片 | 日本国产精品 | 激情网站在线观看 | 日韩免费在线 | 日韩欧美在线观看 | 日本久久久久久 | 国产美女91呻吟求 | 一区二区三区在线免费观看 | 网站av| 中文字幕自拍偷拍 | 日本一区二区三区精品 | 国产天堂网 | 日本在线观看网站 | 久久嫩草 | 亚洲综合精品 | 国产精品免费在线 | 亚洲一级片 | 免费av在线 | 欧美激情视频一区二区 | 欧美a级成人淫片免费看 | 四虎永久在线视频 | 国产网友自拍 | 黄色小说视频 | 亚洲男人天堂网 | 精品免费国产一区二区三区四区 | 国产一区二区三区在线视频 | 91在线小视频 | 97色婷婷| 91国产丝袜在线播放 | 视频一区在线观看 | 成年人免费在线观看 | 在线观看国产黄色 | 啊v在线 | 青青青视频在线 | 国产不卡视频 | 黄色小视频免费看 | 免费看黄色小视频 | 国产成人三级在线观看 | 一区二区日韩 | 美女视频福利 | 伊人色播|