English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Описание статистики Pandas

Пример описательной статистики Pandas

DataFrame используется для的大量计算 описательной статистики и других связанных операций. Многие из них являются агрегациями, например sum(), mean(), но некоторые агрегации (например, sumsum()) создают объекты одинакового размера. В общем, эти методы используют параметр оси, как и ndarray. {sum, std, ...}, но ось можно указать по имени или числовым значением DataFrame − индекс (ось=0, по умолчанию), столбцы (ось=1)

Мы создадим DataFrame и будем использовать этот объект для всех операций в этой главе.

Пример

 import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создание DataFrame
 df = pd.DataFrame(d)
 print(df)

Результат выполнения:

        Возраст  Имя   Оценка
0   25  Tom     4.23
1   26  James   3.24
2   25  Ricky   3.98
3   23  Vin     2.56
4   30  Steve   3.20
5   29  Smith   4.60
6   23  Jack    3.80
7   34  Lee     3.78
8   40  David   2.98
9   30  Gasper  4.80
10  51  Betina  4.10
11  46  Andres  3.65

sum

Возвращает сумму значений запрашиваемого оси. По умолчанию, ось — это индекс (ось=0)

 import pandas as pd
 import numpy as np
  
 # Создание словаря Series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.sum())

Результат выполнения:

    Возраст                                                    382
Name TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating 44.92
dtype: object

Каждая отдельная колонка добавляет строку

axis=1

Эта грамматика будет выводить следующее.

 import pandas as pd
 import numpy as np
  
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
  
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.sum(1))

Результат выполнения:

    0 29.23
1 29.24
2 28.98
3 25.56
4 33.20
5 33.60
6 26.80
7 37.78
8 42.98
9 34.80
10 55.10
11 49.65
dtype: float64

mean

Возвращает среднее значение.

 import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.mean())

Результат выполнения:

    Age 31.833333
Rating 3.743333
dtype: float64

std

Возвращает Bressel стандартное отклонение числовых столбцов.

 import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.std())

Результат выполнения:

    Age 9.232682
Rating 0.661628
dtype: float64

Функции и описание

Теперь让我们了解Python Pandas в разделе описательной статистики функции. В таблице приведены важные функции:

НомерМетодОписание
1countНепустые значения
2sumОбщее количество
3meanСреднее арифметическое
4medianМедиана
5modeМода
6stdСтандартное отклонение
7minМинимальное значение
8maxМаксимальное значение
9absАбсолютная величина
10prodПроизведение
11cumsumНакопительное сложение
12cumprodНакопительное умножение
Внимание: − Поскольку DataFrame является гетерогенной структурой данных. Обобщенные операции не применяются ко всем функциям.
    Функции, такие как sum() и cumsum(), могут быть использованы для элементов данных числовых и字符ных (или) строковых данных, не вызывая никакие ошибки. Хотя набор символов не используется повсеместно, он не вызывает żadных исключений.
  • Когда DataFrame содержит данные字符 или строк, такие функции, как abs() и cumprod(), вызывают исключение, так как такие операции не могут быть выполнены.

Обобщение данных

  import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.describe())

Результат выполнения:

                Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

Эта функция предоставляет значения среднего, std и IQR. Функция не включает строковые столбцы и данные об обобщении числовых столбцов. «include» — это параметр, который передается для передачи необходимых данных о том, какие столбцы необходимо учитывать при обобщении. Значения списка; по умолчанию «числовые».

object − Обобщение строковых столбцовnumber − Обобщение числовых столбцовall − Обобщение всех столбцов вместе (не должно быть представлено как значение списка)

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

  import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df.describe(include=['object']))

Результат выполнения:

           Name
count       12
unique      12
top      Ricky
freq         1

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

  import pandas as pd
 import numpy as np
 # Создать словарь series
 d = {'Name': pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres')),
    'Age': pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating': pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Создать DataFrame
 df = pd.DataFrame(d)
 print(df. describe(include='all'))

Результат выполнения:

           Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000