欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 利用pandas按日期做分組運算的操作

利用pandas按日期做分組運算的操作

熱門標簽:在哪里辦理400電話號碼 西藏智能外呼系統五星服務 400電話申請服務商選什么 清遠360地圖標注方法 江蘇客服外呼系統廠家 千陽自動外呼系統 原裝電話機器人 平頂山外呼系統免費 工廠智能電話機器人

原始數據

TS PERIOD REQUEST STEPPED VALUE STATUS SECONDS
20-DEC-16 00:00:00.0 600 1 0  2.018 0 1482163200
20-DEC-16 00:01:00.0 600 1 0  2.019 0 1482163260
20-DEC-16 00:02:00.0 600 1 0  2.019 0 1482163320
20-DEC-16 00:03:00.0 600 1 0  2.019 0 1482163380
20-DEC-16 00:04:00.0 600 1 0  2.019 0 1482163440
20-DEC-16 00:05:00.0 600 1 0  2.020 0 1482163500
20-DEC-16 00:06:00.0 600 1 0  2.020 0 1482163560

我們的目標是把TS列從

20-DEC-16 00:00:00.0

轉變為

20-DEC-16

的格式,然后按天取均值。

導入包

import numpy as np
from pandas import DataFrame, Series
import pandas as pd
from datetime import datetime

讀入文件

df = pd.read_csv('data/test.txt',sep='\t')

這里沒有解決中文路徑名和絕對路徑的問題.

轉化為數據框

df = DataFrame(df)

轉化為時間格式

將TS列轉化為時間格式,并保存為新的一列DATE,之后,只留下DATE和VALUE兩列,其他統統不要。

df['DATE'] = pd.to_datetime(df['TS'])
df = df[['DATE','VALUE']]

關鍵一步

把形如‘2017-9-4 00:00:00'轉化為‘2017-9-4 '

df['DATE'] = [datetime.strftime(x,'%Y-%m-%d') for x in df['DATE']]

strftime有若干參數,其中Y表示四位數的年,m表示兩位數的月。

旋轉數據框

df =df.pivot_table(index='DATE',aggfunc='mean')

補充:利用Pandas和Numpy按時間戳將數據以Groupby方式分組

首先說一下需求,我需要將數據以分鐘為單位進行分組,然后每一分鐘內的數據作為一行輸出,因為不同時間的數據量不一樣,所以所有數據按照最長的那組數據為準,不足的數據以各自的最后一個數據進行補足。

之后要介紹一下我的數據源,之前沒用的數據列已經去除,我只留下要用到的數據data列和時間戳time列,時間戳是以秒計的,可以看到一共是407454行。


   data   time
0  6522.50 1.530668e+09
1  6522.66 1.530668e+09
2  6523.79 1.530668e+09
3  6523.79 1.530668e+09
4  6524.82 1.530668e+09
5  6524.35 1.530668e+09
6  6523.66 1.530668e+09
7  6522.64 1.530668e+09
8  6523.25 1.530668e+09
9  6523.88 1.530668e+09
10  6525.30 1.530668e+09
11  6525.70 1.530668e+09
...   ...   ...
407443 6310.69 1.531302e+09
407444 6310.55 1.531302e+09
407445 6310.42 1.531302e+09
407446 6310.40 1.531302e+09
407447 6314.03 1.531302e+09
407448 6314.04 1.531302e+09
407449 6312.84 1.531302e+09
407450 6312.57 1.531302e+09
407451 6312.56 1.531302e+09
407452 6314.04 1.531302e+09
407453 6314.04 1.531302e+09
 
[407454 rows x 2 columns]

開始進行數據處理,定義一個函數,輸入為一個DataFrame和時間列的命名。

def getdata_time(dataframe,name):
 dataframe[name] = dataframe[name]/60 #將時間轉換為分鐘
 dataframe[name] = dataframe[name].astype('int64') 
 datalen = dataframe.groupby(name).count().max()  #獲取數據最大長度 
 timeframe = dataframe.groupby(name).count().reset_index()#為了獲取時間將分組后時間轉換為DataFrame
 timeseries = timeframe['time'] 
 array = []  #建立一個空數組以便存值

 for time, group in dataframe.groupby(name): 
 tmparray = numpy.array(group['data']) #將series轉換為數組并添加到總數組中
 array.append(tmparray) 
 notimedata = pandas.DataFrame(array)
 notimedata = notimedata.fillna(method='ffill',axis = 1,limit=datalen[0]) #將缺失值補全
 notimedata[datalen[0]+1] = timeseries #把時間添加到最后一列 
 return notimedata

下面將逐行進行分析,首先要以每分鐘為依據進行分組,那么將秒計的時間戳除以60變為分鐘,轉換為int型是為了觀察方便(更改類型是否會導致數據精度缺失影響結果并不清楚,如果有了解的人看到歡迎指出,謝謝)。

datalen是我們要用到的每分鐘中最大的數據長度,用來作為標齊依據。DataFrame.groupby.count()是分別顯示每組數據的個數,并不是顯示有多少個分組,如果想要獲取分組后每一組的index就需要用到下一行的reset_index方法,之所以不直接用reset_index而是在count()方法后調用是因為groupby分組后的結果不是一個DataFrame,而經過count()(不僅僅是count,對分組數據操作的方法都可以,只要得出的結果是與每一組的index一一對應即可)操作后就可以得到一個以index為一列,另一列是count結果的DataFrame。

以下為直接進行reset_index操作的報錯:

AttributeError: Cannot access callable attribute 'reset_index' of 'DataFrameGroupBy' objects, try using the 'apply' method

以下為經過count操作后的reset_index方法顯示結果,可以看到一共分為了10397組:

   time data
0  25511135 33
1  25511136 18
2  25511137 25
3  25511138 42
4  25511139 36
5  25511140  7
6  25511141 61
7  25511142 45
8  25511143 46
9  25511144 19
10  25511145 21
...   ... ...
10387 25521697  3
10388 25521698  9
10389 25521699 16
10390 25521700 13
10391 25521701  4
10392 25521702 34
10393 25521703 124
10394 25521704 302
10395 25521705 86
10396 25521706 52
 
[10397 rows x 2 columns]

提取的timeseries將在最后數據整合時使用。

現在開始將每組數據提取,首先建立一個空的數組用來存放,然后利用for循環獲取每一組的信息,time即為分組的index,group即為每一分組的內容,將數據從group['data']中取出并添加到之前建立的空數組里,循環操作過后轉換為DataFrame,當然這個DataFrame中包含了大量缺失值,因為它的列數是以最長的數據為準。

如下:

   0  1  2  3  ... 1143 1144 1145 1146
0  6522.50 6522.66 6523.79 6523.79 ... NaN NaN NaN NaN
1  6523.95 6524.90 6525.00 6524.35 ... NaN NaN NaN NaN
2  6520.87 6520.00 6520.45 6520.46 ... NaN NaN NaN NaN
3  6516.34 6516.26 6516.21 6516.21 ... NaN NaN NaN NaN
4  6513.28 6514.00 6514.00 6514.00 ... NaN NaN NaN NaN
5  6511.98 6511.98 6511.99 6513.00 ... NaN NaN NaN NaN
6  6511.00 6511.00 6511.00 6511.00 ... NaN NaN NaN NaN
7  6511.70 6511.78 6511.99 6511.99 ... NaN NaN NaN NaN
8  6509.51 6510.00 6510.80 6510.80 ... NaN NaN NaN NaN
9  6511.36 6510.00 6510.00 6510.00 ... NaN NaN NaN NaN
10  6507.00 6507.00 6507.00 6507.00 ... NaN NaN NaN NaN
...  ...  ...  ...  ... ... ... ... ... ...
10386 6333.77 6331.31 6331.30 6333.19 ... NaN NaN NaN NaN
10387 6331.68 6331.30 6331.68  NaN ... NaN NaN NaN NaN
10388 6331.30 6331.30 6331.00 6331.00 ... NaN NaN NaN NaN
10389 6330.93 6330.92 6330.92 6330.93 ... NaN NaN NaN NaN
10390 6330.83 6330.83 6330.90 6330.80 ... NaN NaN NaN NaN
10391 6327.57 6326.00 6326.00 6325.74 ... NaN NaN NaN NaN
10392 6327.57 6329.70 6328.85 6328.85 ... NaN NaN NaN NaN
10393 6323.54 6323.15 6323.15 6322.77 ... NaN NaN NaN NaN
10394 6311.00 6310.83 6310.83 6310.50 ... NaN NaN NaN NaN
10395 6311.45 6311.32 6310.01 6310.01 ... NaN NaN NaN NaN
10396 6310.46 6310.46 6310.56 6311.61 ... NaN NaN NaN NaN
 
[10397 rows x 1147 columns]

可以看到行數是分組個數,一共1147列也是最多的那組數據長度。

之后我們通過調用fillna方法將缺失值進行填充,method='ffill'是指以缺失值前一個數據為依據,axis = 1是以行為單位,limit是指最大填充長度。最終,把我們之前取得的timeseries添加到最后一列,就得到了需求的最終結果。

   0  1  2  ...  1145  1146  1148
0  6522.50 6522.66 6523.79 ...  6522.14 6522.14 25511135
1  6523.95 6524.90 6525.00 ...  6520.00 6520.00 25511136
2  6520.87 6520.00 6520.45 ...  6517.00 6517.00 25511137
3  6516.34 6516.26 6516.21 ...  6514.00 6514.00 25511138
4  6513.28 6514.00 6514.00 ...  6511.97 6511.97 25511139
5  6511.98 6511.98 6511.99 ...  6511.00 6511.00 25511140
6  6511.00 6511.00 6511.00 ...  6510.90 6510.90 25511141
7  6511.70 6511.78 6511.99 ...  6512.09 6512.09 25511142
8  6509.51 6510.00 6510.80 ...  6512.09 6512.09 25511143
9  6511.36 6510.00 6510.00 ...  6507.04 6507.04 25511144
10  6507.00 6507.00 6507.00 ...  6508.57 6508.57 25511145
11  6507.16 6507.74 6507.74 ...  6506.35 6506.35 25511146
...  ...  ...  ... ...   ...  ...  ...
10388 6331.30 6331.30 6331.00 ...  6331.00 6331.00 25521698
10389 6330.93 6330.92 6330.92 ...  6330.99 6330.99 25521699
10390 6330.83 6330.83 6330.90 ...  6327.58 6327.58 25521700
10391 6327.57 6326.00 6326.00 ...  6325.74 6325.74 25521701
10392 6327.57 6329.70 6328.85 ...  6325.00 6325.00 25521702
10393 6323.54 6323.15 6323.15 ...  6311.00 6311.00 25521703
10394 6311.00 6310.83 6310.83 ...  6315.00 6315.00 25521704
10395 6311.45 6311.32 6310.01 ...  6310.00 6310.00 25521705
10396 6310.46 6310.46 6310.56 ...  6314.04 6314.04 25521706
 
[10397 rows x 1148 columns]

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • pandas 實現某一列分組,其他列合并成list
  • pandas 實現分組后取第N行
  • pandas分組排序 如何獲取第二大的數據
  • pandas group分組與agg聚合的實例
  • pandas groupby分組對象的組內排序解決方案
  • pandas組內排序,并在每個分組內按序打上序號的操作

標簽:日照 白城 天水 股票 西安 錦州 安慶 隨州

巨人網絡通訊聲明:本文標題《利用pandas按日期做分組運算的操作》,本文關鍵詞  利用,pandas,按,日期,做,分組,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用pandas按日期做分組運算的操作》相關的同類信息!
  • 本頁收集關于利用pandas按日期做分組運算的操作的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    99麻豆久久久国产精品免费| 欧美又粗又大又长| 青花影视在线观看免费高清| 欧美性猛交xxxxxx富婆| 精品福利一二区| 亚洲综合小说图片| 国产精品资源网| 免费a v网站| 色综合网站在线| 久久婷婷成人综合色| 亚洲一级二级三级| 国产精品18久久久久久久网站| 一区二区黄色片| 欧美三片在线视频观看| 欧美高清一级片在线观看| 日韩高清不卡在线| 99亚偷拍自图区亚洲| 91久久精品国产91性色tv| 久久久www成人免费无遮挡大片| 亚洲不卡av一区二区三区| 不卡的电影网站| 国产传媒在线看| 欧美成人高清电影在线| 日韩精品一二三四| 日本女人性视频| 中国一级片在线观看| 国产农村妇女精品| 国内偷窥港台综合视频在线播放| 制服丝袜第一页在线观看| 91麻豆精品久久久久蜜臀| 亚洲综合在线五月| 国产伦精品一区三区精东| 日韩久久久精品| 午夜欧美电影在线观看| 欧美bbbbb性bbbbb视频| 69精品人人人人| 日韩av中文在线观看| 一级肉体全黄裸片| 欧美xxxxx裸体时装秀| 激情文学综合网| 尤物视频最新网址| 欧美国产日韩亚洲一区| 成人激情文学综合网| 亚洲xxxx3d动漫| 亚洲欧美电影院| 成人18视频日本| 欧美图片一区二区三区| 日韩成人一区二区三区在线观看| 性猛交ⅹxxx富婆video | 黄色在线观看av| 久久午夜老司机| 99久久99久久久精品齐齐| 一级黄色录像视频| 亚洲国产精品久久艾草纯爱| 性高潮免费视频| 欧美欧美欧美欧美首页| 亚洲成人av资源| 中文字幕丰满乱子伦无码专区| 国产欧美精品一区二区色综合朱莉| 93久久精品日日躁夜夜躁欧美| 日韩一卡二卡三卡国产欧美| 秋霞电影网一区二区| 熟女俱乐部一区二区| 国产精品进线69影院| 96av麻豆蜜桃一区二区| 日韩欧美在线不卡| 成人黄色777网| 91精品在线免费| 丁香五精品蜜臀久久久久99网站 | 激情图区综合网| 欧美影视一区二区三区| 亚洲成人1区2区| 国产免费嫩草影院| 亚洲成国产人片在线观看| 美国精品一区二区| 婷婷中文字幕一区三区| 三级网站在线免费观看| 亚洲视频一区二区在线| 美女黄色一级视频| 精品国产欧美一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 91麻豆精品国产自产在线| 国产成人午夜精品5599| 欧美体内she精视频| 韩国女主播成人在线| 欧美女孩性生活视频| 成人动漫视频在线| 精品va天堂亚洲国产| 国产女人18毛片水真多18| 中文字幕在线不卡一区| 免费观看a级片| 日韩va亚洲va欧美va久久| 在线看日韩精品电影| 国产二区国产一区在线观看| 精品国产人成亚洲区| 欧美xxxxx精品| 亚洲美女一区二区三区| av资源在线免费观看| 伊人一区二区三区| 欧洲美一区二区三区亚洲| 中文字幕色av一区二区三区| 岛国精品资源网站| 日本一区二区动态图| 深爱五月激情网| 亚洲不卡一区二区三区| 欧美在线观看视频一区二区三区| 国产mv日韩mv欧美| 久久久综合网站| 美女洗澡无遮挡| 日韩va欧美va亚洲va久久| 欧美人与性动xxxx| 曰本三级日本三级日本三级| 最新久久zyz资源站| 国产免费一区二区三区四区| 国产一区二区三区在线观看免费视频| 91黄色免费网站| 成人午夜激情影院| 国产精品天干天干在观线| 亚洲第一黄色网址| 亚洲日本一区二区三区| 国产成人综合在线视频| 日韩av网站在线观看| 欧美欧美欧美欧美首页| 人妻 丝袜美腿 中文字幕| 亚洲一区二区精品3399| 欧美三日本三级三级在线播放| 91免费版在线| 一区二区三区在线视频免费| 在线亚洲一区二区| 91麻豆蜜桃一区二区三区| 亚洲综合一区二区三区| 欧美日本一道本在线视频| 88av在线播放| 免费在线观看一区二区三区| 日韩美一区二区三区| 成人免费无遮挡无码黄漫视频| 麻豆成人久久精品二区三区小说| 欧美日韩亚洲综合一区二区三区| 日本少妇一区二区三区| 国产精品久99| 91成人免费网站| 国产chinesehd精品露脸| 亚洲高清不卡在线观看| 在线播放欧美女士性生活| 91啪亚洲精品| 亚洲va欧美va人人爽午夜| 日韩亚洲欧美综合| 受虐m奴xxx在线观看| 国内精品国产成人国产三级粉色 | 大又大又粗又硬又爽少妇毛片| 蜜桃av一区二区三区| 久久久亚洲精华液精华液精华液| 国产18无套直看片| 美腿丝袜亚洲三区| 国产农村妇女精品| 一本到不卡精品视频在线观看| 国产激情一区二区三区四区 | 欧美视频自拍偷拍| 免费看毛片的网站| 久久精品国产第一区二区三区| 91精品国产综合久久婷婷香蕉| theav精尽人亡av| 国产一区二区三区观看| 国产精品国产精品国产专区不蜜| 91黄色激情网站| v天堂中文在线| 国内成人免费视频| 亚洲欧美日韩一区| 日韩一区二区免费在线电影| 日本污视频网站| 不卡av在线网| 丝袜诱惑制服诱惑色一区在线观看| 精品欧美一区二区在线观看| 男人在线观看视频| 成年人小视频在线观看| 激情五月婷婷综合网| 亚洲精品欧美激情| 欧美videossexotv100| 澳门黄色一级片| 中文文字幕文字幕高清| 成人伦理片在线| 日本午夜一区二区| 国产精品国产馆在线真实露脸| 91精品欧美综合在线观看最新| 天堂av网手机版| 久久久男人的天堂| 国产精品一二三区| 香蕉加勒比综合久久| 国产精品―色哟哟| 日韩一区二区视频| 色噜噜狠狠色综合欧洲selulu| 丰满少妇一区二区三区| 99视频有精品| 国内精品不卡在线| 丝袜美腿亚洲色图| 亚洲裸体xxx| 国产亚洲视频系列| 色吊一区二区三区| 国产91丝袜美女在线播放| 在线中文字日产幕|