Какие результаты показывает блок-график, когда я просто передаю весь фрейм данных без x, y, параметров данных? - PullRequest
0 голосов
/ 16 января 2019

Я изучаю визуализацию с использованием библиотек Python. Я играл со встроенным набором данных "tips". Я заметил, что морское побережье строит данные, даже когда я не даю никаких параметров, таких как x =, y =, data =. Вот что я попробовал:

import pandas as pd
import seaborn as sns
tips_data = sns.load_dataset("tips")
tips_data.head()
sns.boxplot(tips_data.iloc[:,[0,1]])
sns.boxplot(data=tips_data.iloc[:,[0,1]])

Если вы запустите эти команды, вы заметите, что первая команда boxplot строит диаграмму одного блока, которая не совпадает с диаграммой блока для столбцов, их среднего значения или их суммы.

Вторая команда построения ящика правильно отображает два участка на одной оси - один для подсказок, а другой для total_bill.

Может кто-нибудь сказать, что именно отображается, когда не указан параметр arg?

Я попытался проверить документацию по морским здесь ! но не нашел ответа.

1 Ответ

0 голосов
/ 16 января 2019

Случай 1

sns.boxplot(tips_data.iloc[:,[0,1]]) эквивалентен

sns.boxplot(x=tips_data.iloc[:,[0,1]])

, а именно, что первый аргумент x.Это интерпретируется как все данные на входе должны быть распределены вдоль оси х.Более понятно, что это можно представить как сплющенный 2D-массив из двух столбцов:

sns.boxplot(x=tips_data.iloc[:,[0,1]].values.flatten())

Случай 2

Если вместо этого использовать sns.boxplot(data=tips_data.iloc[:,[0,1]]), нет xи y даны.Следовательно, их необходимо интерпретировать, что делается по столбцам.Затем вы получите один блокпост на каждый столбец.


Документация гласит:

Входные данные могут передаваться в различных форматах, включая:

  • Векторы данных, представленные в виде списков, числовых массивов или объектов серии Pandas, передаются непосредственно в параметры x, y и / или hue. [Случай 1]
  • «Длинный» DataFrame, в этом случае переменные x, y и hue будут определять способ построения данных.
  • A«Широкоформатный» DataFrame, так что каждый числовой столбец будет построен.Массив или список векторов. [Случай 2]

Я отметил два случая из вопроса в документации.

...