Pandas 逐列分组

Pandas 逐列分组

在本教程中,我们将讨论pandas的逐列分组。无论你是刚开始接触pandas,需要掌握被认为是它的核心功能之一,还是想填补你对.groupby()知识的空缺,本学术将帮助你解构和可视化pandas的GroupBy操作。很有帮助。从开始到结束。这个学术应该是通过演示独立的大块的例子来补充正宗的Pandas文档和烹饪书。但我们在这里可以关注三个使用实际数据集的额外复杂教程。

Python是一种伟大的信息分析语言,因为它有一个伟大的环境,更多时候是以记录为中心的Python包。Pandas是这些包中的一个,它简化了信息的上传和分析。Pandas groupby用于按类别对数据进行分组,并对类别应用函数。它还可以帮助你有效地汇总数据。Pandas的函数dataframe.groupby()根据某些标准将数据分成若干组。Pandas的项目可以在任何轴上进行分解。分组的概要定义是将标签映射到机构名称。每个groupby操作包括对原始对象的以下操作之一。-

  1. 拆分对象
  2. 应用函数
  3. 合并结果

通常,你把你的数据分成几组,并对每个子集应用一个函数。应用函数使你能够。-

  • 聚合 – 计算汇总统计
  • 变换– 执行针对组的操作
  • 过滤 – 在特定条件下丢弃数据

Groupby列Pandas的语法

groupby()列pandas的语法如下所示

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

Groupby列Pandas的参数

groupby()列pandas的参数如下。

  • by: 映射、函数、str或iterable
  • axis: int,默认为0
  • level: 如果轴是MultiIndex(分层的),按一个或多个特定的级别分组索引。最简单的是适用于DataFrame输入。as_index=false是有效的 “sq.-style “聚类输出。
  • sort: 排序组键。禁用这个会提高性能。注意,这并不影响每个机构内的观察值的顺序。groupby保留了每个机构内的行的顺序。
  • group_keys: 向索引上传组织键,以便在调用实践时识别部分。
  • Squeeze: 如果可能的话,减少返回种类的维度。在任何其他情况下都会返回一个常量类型。

Groupby column Pandas的返回值

Groupby列pandas返回Groupby对象的值。

例子1:

在这里,我们给出一个groupby列pandas的例子。下面给出了这个例子。

import pandas as pd
ipl_data = {'Name': ['Priya', 'Rudra', 'Dev', 'Nisha', 'Arpita',
   'Shipra', 'Kakali', 'Kunal', 'Neha', 'Rup', 'Rim', 'Ram'],
   'Rank': [1, 2, 3, 4, 5,6 ,7 ,8,9 , 10,11,12],
   'DOB': [2000,2000,2002,1999,2001,2000,1998,1999,2000,2002,2001,2000],
   'Points':[676,709,963,873,790,802,956,688,794,801,890,890]}
df = pd.DataFrame(ipl_data)
print (df)

输出: 现在我们编译上述程序,编译成功后,我们运行它。

     Name  Rank   DOB  Points
0    Priya     1       2000     676
1    Rudra   2       2000     709
2      Dev     3       2002     963
3    Nisha   4        1999     873
4   Arpita   5        2001     790
5   Shipra  6        2000     802
6   Kakali   7        1998     956
7    Kunal  8        1999     688
8     Neha   9    2000     794
9       Rup  10  2002     801
10     Rim   11  2001     890
11     Ram  12  2000     890

例子2: 在这里,我们举一个groupby列pandas的例子。下面给出的例子是 –

import pandas as pd
ipl_data = {'Name': ['Priya', 'Rudra', 'Dev', 'Nisha', 'Arpita',
   'Shipra', 'Kakali', 'Kunal', 'Neha', 'Rup', 'Rim', 'Ram'],
   'Rank': [1, 2, 3, 4, 5,6 ,7 ,8, 9, 10,11,12],
   'DOB': [2000,2000,2002,1999,2001,2000,1998,1999,2000,2002,2001,2000],
   'Points':[676,709,963,873,790,802,956,688,794,801,890,890]}
df = pd.DataFrame(ipl_data)
print (df.groupby(['Name','DOB']).groups)

输出

现在我们编译上述程序,编译成功后,我们运行它。那么结果如下

{('Arpita', 2001): [4], ('Dev', 2002): [2], ('Kakali', 1998): [6], ('Kunal', 1999): [7], ('Neha', 2000): [8], ('Nisha', 1999): [3], ('Priya', 2000): [0], ('Ram', 2000): [11], ('Rim', 2001): [10], ('Rudra', 2000): [1], ('Rup', 2002): [9], ('Shipra', 2000): [5]}

例3 :

在这里,我们举一个grouponby列pandas的例子。下面给出的例子是 –

import pandas as pd
import numpy as np
ipl_data = {'Name': ['Priya', 'Rudra', 'Dev', 'Nisha', 'Arpita',
   'Shipra', 'Kakali', 'Kunal', 'Neha', 'Rup', 'Rim', 'Ram'],
   'Rank': [1, 2, 3, 4, 5,6 ,7 ,8,9 , 10,11,12],
   'DOB': [2000,2000,2002,1999,2001,2000,1998,1999,2000,2002,2001,2000],
   'Points':[676,709,963,873,790,802,956,688,794,801,890,890]}
df = pd.DataFrame(ipl_data)
grouped = df.groupby('DOB')
print (grouped['Points'].agg(np.mean))

输出

现在我们编译上述程序,编译成功后,我们运行它。那么结果如下

DOB
1998    956.0
1999    780.5
2000    774.2
2001    840.0
2002    882.0
Name: Points, dtype: float64

因此,在本教程中,我们将简要地讨论pandas中的groupby列。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python 教程