Большой контурный набор данных с использованием пиплота и панд - PullRequest
0 голосов
/ 20 сентября 2018

У меня массив данных и мне нужно его визуализировать.Используя панд, я могу создать фрейм данных с соответствующими переменными - 3 массива длиной 20 миллионов.

Это геометрические координаты x, y и значение z в этой точке (x, y).

Мне нужна «тепловая карта» z в каждой (x, y) точке.Но ни одна функция pyplot не работает с такими большими числами.

Как лучше всего это сделать?

1 Ответ

0 голосов
/ 20 сентября 2018

Фиктивные данные

Протестировано с 200 000 строк

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
df=pd.DataFrame(np.random.rand(200000,2), columns=['X','Y'])
df['Z']=df.apply(lambda x: x.X+x.Y*2, axis=1)

Код

Создание интервалов бина и groupby кадра данных с применением среднего значения к столбцу Z, поэтомуиметь среднее значение Z для каждой пары бинов X, Y для построения.Наконец, точечная диаграмма

binsX = pd.cut(df.X, np.arange(0,1,0.001))
binsY = pd.cut(df.Y, np.arange(0,1,0.001))    
binned = df.groupby([binsX,binsY])['Z'].mean().reset_index()
binned.X = binned.X.apply(lambda x: x.mid)
binned.Y = binned.Y.apply(lambda y: y.mid)
plt.scatter(binned.X, binned.Y, c=binned.Z, s=0.01)

enter image description here

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