Python Pandas - Визуализация
Основной сюжет: сюжет
Эта функциональность в Series и DataFrame представляет собой простую оболочку для matplotlib libraries plot() метод.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('1/1/2000',
periods=10), columns=list('ABCD'))
df.plot()
это output выглядит следующим образом -
Если индекс состоит из дат, он вызывает gct().autofmt_xdate() чтобы отформатировать ось x, как показано на иллюстрации выше.
Мы можем построить график зависимости одного столбца от другого, используя x и y ключевые слова.
Методы печати позволяют использовать несколько стилей печати, кроме линейного графика по умолчанию. Эти методы могут быть предоставлены как аргумент ключевого слова kind дляplot(). К ним относятся -
- бар или бар для участков
- hist для гистограммы
- ящик для ящичного участка
- 'area' для участков
- 'scatter' для диаграмм рассеяния
Барный участок
Давайте теперь посмотрим, что такое гистограмма, создав ее. Гистограмму можно создать следующим образом -
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')
df.plot.bar()
это output выглядит следующим образом -
Чтобы создать диаграмму столбцов с накоплением, pass stacked=True -
import pandas as pd
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')
df.plot.bar(stacked=True)
это output выглядит следующим образом -
Чтобы получить графики горизонтальной полосы, используйте barh метод -
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d')
df.plot.barh(stacked=True)
это output выглядит следующим образом -
Гистограммы
Гистограммы можно построить, используя plot.hist()метод. Мы можем указать количество ящиков.
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df.plot.hist(bins=20)
это output выглядит следующим образом -
Чтобы построить разные гистограммы для каждого столбца, используйте следующий код -
import pandas as pd
import numpy as np
df=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df.diff.hist(bins=20)
это output выглядит следующим образом -
Коробчатые графики
Коробчатый график можно нарисовать, позвонив Series.box.plot() и DataFrame.box.plot(), или же DataFrame.boxplot() для визуализации распределения значений в каждом столбце.
Например, вот диаграмма, представляющая пять испытаний из 10 наблюдений однородной случайной величины на [0,1).
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()
это output выглядит следующим образом -
Площадь участка
График площади можно создать с помощью Series.plot.area() или DataFrame.plot.area() методы.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot.area()
это output выглядит следующим образом -
Точечная диаграмма
Диаграмма рассеяния может быть создана с помощью DataFrame.plot.scatter() методы.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot.scatter(x='a', y='b')
это output выглядит следующим образом -
Круговая диаграмма
Круговую диаграмму можно создать с помощью DataFrame.plot.pie() метод.
import pandas as pd
import numpy as np
df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])
df.plot.pie(subplots=True)
это output выглядит следующим образом -