Подготовка и визуализация инкрементальных данных

Анализ данных Интернета вещей на Python

Matthias Voppichler

IT Developer

Подготовка данных

  • Сводная таблица данных
  • Ресамплинг
  • Применение diff()
  • Применение pct_change()
Анализ данных Интернета вещей на Python

Структура данных

print(data.head())
                timestamp device   value
0 2018-10-26 06:30:42.817   C331  6020.0
1 2018-10-26 06:30:43.083   M640   104.0
2 2018-10-26 06:31:00.858   M640   126.0
3 2018-10-26 06:31:10.254   C331  6068.0
4 2018-10-26 06:31:10.474   M640   136.0
Анализ данных Интернета вещей на Python

Сводная таблица

Пример сводной таблицы

Анализ данных Интернета вещей на Python

Применение сводной таблицы

                timestamp device   value
0 2018-10-26 06:30:42.817   C331  6020.0
1 2018-10-26 06:30:43.083   M640   104.0
2 2018-10-26 06:31:00.858   M640   126.0
3 2018-10-26 06:31:10.254   C331  6068.0
4 2018-10-26 06:31:10.474   M640   136.0
data = pd.pivot_table(data, columns="device", values="value", index="timestamp")
print(data.head()
device                     C331   M640
timestamp                             
2018-10-26 06:30:42.817  6020.0    NaN
2018-10-26 06:30:43.083     NaN  104.0
2018-10-26 06:31:00.858     NaN  126.0
2018-10-26 06:31:10.254  6068.0    NaN
2018-10-26 06:31:10.474     NaN  136.0
Анализ данных Интернета вещей на Python

Ресамплинг

# Resample DataFrame to 1min
df = data.resample("1min").max().dropna()
print(df.head())
device                 C331   M640
timestamp                         
2018-10-26 06:30:00  6020.0  104.0
2018-10-26 06:31:00  6129.0  180.0
2018-10-26 06:32:00  6205.0  256.0
2018-10-26 06:33:00  6336.0  332.0
2018-10-26 06:34:00  6431.0  402.0
Анализ данных Интернета вещей на Python

Визуализация данных

data.plot()
plt.show()

Анализ данных Интернета вещей на Python

pd.diff()

# Difference
df_diff = data.diff(1)
df_diff.plot()
plt.show()

Анализ данных Интернета вещей на Python

Анализ данных – разность

# Difference
df_diff = data.diff()
df_diff.plot()
plt.show()

 

# Resampled difference
df = data.resample('30min').max()
df_diff = df.diff()
df_diff.plot()
plt.show()

Анализ данных Интернета вещей на Python

Процентное изменение

df_pct = df_diff.pct_change()
df_pct.plot()

Анализ данных Интернета вещей на Python

Давайте потренируемся!

Анализ данных Интернета вещей на Python

Preparing Video For Download...