Pandas: як побудувати кілька dataframes у підсхемах
Ви можете використовувати такий базовий синтаксис, щоб побудувати кілька фреймів даних pandas у підсхемах:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: побудова декількох фреймів даних Pandas у підсхемах
Припустімо, у нас є чотири panda DataFrames, які містять інформацію про продажі та повернення в чотирьох різних роздрібних магазинах:
import pandas as pd #create four DataFrames df1 = pd. DataFrame ({' sales ': [2, 5, 5, 7, 9, 13, 15, 17, 22, 24], ' returns ': [1, 2, 3, 4, 5, 6, 7, 8, 7, 5]}) df2 = pd. DataFrame ({' sales ': [2, 5, 11, 18, 15, 15, 14, 9, 6, 7], ' returns ': [1, 2, 0, 2, 2, 4, 5, 4, 2, 1]}) df3 = pd. DataFrame ({' sales ': [6, 8, 8, 7, 8, 9, 10, 7, 8, 12], ' returns ': [1,0, 1, 1, 1, 2, 3, 2, 1, 3]}) df4 = pd. DataFrame ({' sales ': [10, 7, 7, 6, 7, 6, 4, 3, 3, 2], ' returns ': [4, 4, 3, 3, 2, 3, 2, 1, 1, 0]})
Ми можемо використати наступний синтаксис, щоб побудувати кожен із цих DataFrames у підсхемі, яка має макет із 2 рядків і 2 стовпців:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 2 , ncols= 2 ) #add DataFrames to subplots df1. plot (ax=axes[0,0]) df2. plot (ax=axes[0,1]) df3. plot (ax=axes[1,0]) df4. plot (ax=axes[1,1])
Кожен із чотирьох DataFrames відображається на підсхемі.
Зауважте, що ми використовували аргумент axes , щоб вказати, куди слід розмістити кожен DataFrame.
Наприклад, DataFrame під назвою df1 було розміщено в позиції зі значенням індексу рядка 0 і значенням індексу стовпця 0 (наприклад, підсхема у верхньому лівому куті).
Також зауважте, що ви можете змінити макет підсхем за допомогою аргументів nrows і ncols .
Наприклад, наведений нижче код показує, як організувати підділянки в чотири рядки та один стовпець:
import matplotlib. pyplot as plt #define subplot layout fig, axes = plt. subplots (nrows= 4 , ncols= 1 ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Підділянки тепер упорядковано за макетом із чотирьох рядків і одного стовпця.
Зауважте, що якщо ви хочете, щоб підсхеми мали однакові масштаби на осях y та x, ви можете використовувати аргументи sharey та sharex .
Наприклад, у наведеному нижче коді показано, як використовувати аргумент sharey , щоб змусити всі підсхеми мати однаковий масштаб на осі Y:
import matplotlib. pyplot as plt #define subplot layout, force subplots to have same y-axis scale fig, axes = plt. subplots (nrows= 4 , ncols= 1 , sharey= True ) #add DataFrames to subplots df1. plot (ax=axes[0]) df2. plot (ax=axes[1]) df3. plot (ax=axes[2]) df4. plot (ax=axes[3])
Зауважте, що вісь Y кожного підсхеми тепер коливається від 0 до 20.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:
Як створити секторну діаграму з Pandas DataFrame
Як створити хмару точок із Pandas DataFrame
Як створити гістограму з Pandas DataFrame