Использование Pandas для получения среднего значения данных CSV TmeSeries за 1 минуту - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть следующий CSV-файл

DateTIme, 172.25.150.88,172.25.150.12.172.25.150.103,172.25.150.47,172.25.150.47,172.25.150.95

2018-11-0202: 49: 42,54457,51776,43164,52074,48227,52165

2018-11-0202: 49: 43,48728,48516,47605,48202,48077,48304

2018-11-0202: 49: 44,47879,48699,48243,48153,48483,48364

Используя панд, я импортирую файл и устанавливаю индекс даты и времени:

data = pd.read_csv("throughput_88_12_105_43_47_95.csv")
data['datetime'] = pd.to_datetime(data['DateTIme'],format='%Y-%m-%d%H:%M:%S')

Теперь фрейм данных выглядит следующим образом:

DateTIme 172.25.150.88 172.25.150.12 172.25.150.105 172.25.150.43 172.25.150.47 172.25.150.95 datetime 0 2018-11-0202: 49: 4254457 51776 43164 52074 48227 52165 2018-11-02 02: 49: 42

1 2018-11-0202: 49: 43 48728 48516 47605 48202 48077 48304 2018-11-02 02: 49: 43

2 2018-11-0202: 49: 44 47879 48699 48243 48153 48483 48364 2018-11-02 02: 49: 44

3 2018-11-0202: 49: 45 48009 48751 47813 4835948581 48793 2018-11-02 02: 49: 45

4 2018-11-0202: 49: 46 48905 48650 47578 48285 48055 48761 2018-11-02 02: 49: 46

Чтобы получить среднее значение за 1 минуту по всем столбцам:

 df = pd.DataFrame(data = data, columns = ['172.25.150.88','172.25.150.12','172.25.150.105','172.25.150.43','172.25.150.47','172.25.150.95'],index=data['datetime'])


 df.resample('1Min').mean()

Это дает мне:

172.25.150.88 172.25.150.12 172.25.150.105 172.25.150.43 172.25.150.47 172.25.150.95 datetime
2018-11-02 02:49:00 NaN NaN NaN NaN NaN NaN

2018-11-02 02:50:00 NaN NaN NaN NaN NaN NaN

2018-11-02 02:51:00 NaN NaN NaN NaN NaN NaN

Как я могу получить 1минута средняя?Все, что я получаю, это НАН.

1 Ответ

0 голосов
/ 10 ноября 2018

Смотрите это:

In [1702]: df
Out[1702]: 
             DateTIme  172.25.150.88  172.25.150.12  172.25.150.105  172.25.150.43  172.25.150.47  172.25.150.95
0  2018-11-0202:49:42          54457          51776           43164          52074          48227          52165
1  2018-11-0202:49:43          48728          48516           47605          48202          48077          48304
2  2018-11-0202:49:44          47879          48699           48243          48153          48483          48364

In [1703]: df.DateTIme=pd.to_datetime(df.DateTIme,format='%Y-%m-%d%H:%M:%S') 
In [1707]: df.resample(rule='1Min', on='DateTIme').mean()
Out[1707]: 
                     172.25.150.88  172.25.150.12  172.25.150.105  172.25.150.43  172.25.150.47  172.25.150.95
DateTIme                                                                                                      
2018-11-02 02:49:00   50354.666667   49663.666667    46337.333333   49476.333333   48262.333333        49611.0

Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...