English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Пример визуализации Pandas
Эта функция вокруг matplotlib библиотеки 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()
Результат выполнения будет следующим:
Если индекс состоит из дат, он вызовет gct().autofmt_xdate() для форматирования оси x, как показано на上图.
Мы можем нарисовать отношение одной строки к другой с помощью ключевых слов x и y.
Кроме стандартной линии, методы рисования также позволяют использовать различные стили рисования. Эти методы можно предоставить в качестве ключевого слова kind параметра plot(). Это включает в себя:
Столбчатый график Гистограмма Гистограмма箱ок Diagramма площади Диаграмма точек Диаграмма секторов
Давайте посмотрим, как создать столбчатый график:
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd']) df.plot.bar()
Результат выполнения будет следующим:
Производит наложенные столбчатые графики, можно установить stacked=True
import pandas as pd df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd']) df.plot.bar(stacked=True)
Результат выполнения будет следующим:
Чтобы получить горизонтальную гистограмму, можно использовать метод 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)
Результат выполнения будет следующим:
Гистограмму можно нарисовать с помощью метода 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)
Результат выполнения будет следующим:
Следующий код позволяет нарисовать различные гистограммы для каждого столбца:
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)
Результат выполнения будет следующим:
Boxplot можно нарисовать, вызывая 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()
Результат выполнения будет следующим:
Можете использовать метод Series.plot.area() или DataFrame.plot.area() для создания diagrams площади.
import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd']) df.plot.area()
Результат выполнения будет следующим:
Создание диаграммы точек можно выполнить с помощью метода 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')
Результат выполнения будет следующим:
Создание диаграммы секторов можно выполнить с помощью метода 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)
Результат выполнения будет следующим: