首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python数据分析——数据分类汇总与统计

本文介绍如何使用Python进行数据分类汇总与统计,帮助读者更好地理解和应用数据。 首先,我们需要导入一些常用Python库,如pandas、numpy和matplotlib等。...第一个阶段,pandas对象中数据会根据你所提供一个或多个被拆分(split)为多组。拆分操作是在对象特定轴上执行。...关键技术:任何被当做分组函数都会在各个索引上被调用一次,其返回值就会被用作分组名称。...具体办法是向agg传入一个从列名映射到函数字典: 只有多个函数应用到至少一时,DataFrame才会拥有层次化 2.3.返回不含索引聚合数据 到目前为止,所有例中聚合数据都有由唯一分组组成索引...: 名称 margins : 总计/ normalize:所有除以总和进行归一化,为True时候显示百分比 dropna :是否刪除缺失 【例19】根据国籍和用手习惯对这段数据进行统计汇总

63710

pandas分组聚合转换

,如果希望通过一定复杂逻辑分组,比如根据学生体重是否超过总体均值分组,同样还是计算身高均值。...,其中字典以列名为,以聚合字符串或字符串列表为 gb.agg({'Height':['mean','max'], 'Weight':'count'}) 使用自定义函数  在agg中可以使用具体自定义函数...47.918519 1 173.62549 72.759259 2 173.62549 72.759259 组索引与过滤 过滤在分组中是对于组过滤,而索引是对于过滤返回值无论是布尔列表还是元素列表或者位置列表...'new_column',其为'column1'中每个元素两倍,当原来元素大于10时候,里面的赋0   import pandas as pd data = {'column1':[1...返回值是row['column1']+row['column2'],所以要按传入:lambda row apply自定义函数传入参数与filter完全一致,只不过后者只允许返回布尔

11310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 数据处理:Pandas使用

    ('b' in obj2) print('e' in obj2) 如果数据被存放在一个Python字典中,也可以直接通过这个字典创建Series: import pandas as pd sdata...另一种常见数据形式是嵌套字典,如果嵌套字典传给DataFrame, Pandas 就会被解释为:外层字典作为,内层则作为索引: import pandas as pd pop1 = {'...会被合并成结果索引,跟“由Series组成字典情况―样 字典或Series列表 各项将会成为DataFrame。...下表对DataFrame进行了总结: 类型 描述 df[val] 从DataFrame选取单列或一组;在特殊情况下比较便利:布尔型数组(过滤)、切片(切片)、或布尔型DataFrame(根据条件设置...,函数应用到由各所形成一维数组上。

    22.7K10

    30 个小例子帮你快速掌握Pandas

    我们传递一个字典,该字典指示哪些函数应用于哪些。...method参数指定如何处理具有相同。first表示根据它们在数组(即)中顺序对其进行排名。 21.中唯一数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。...低基数意味着与行数相比,一具有很少唯一。例如,Geography具有3个唯一和10000。 我们可以通过将其数据类型更改为category节省内存。...29.根据字符串过滤 我们可能需要根据文本数据(例如客户名称)过滤观察结果()。我已经虚构名称添加到df_new DataFrame中。 ? 让我们选择客户名称以Mi开头。...endswith函数根据字符串末尾字符进行相同过滤Pandas可以对字符串进行很多操作。

    10.7K10

    数据科学 IPython 笔记本 7.11 聚合和分组

    GroupBy强大之处在于,它抽象了这些步骤:用户不需要考虑计算如何在背后完成,而是考虑整个操作。 作为一个具体例子,让我们看看, Pandas 用于此图中所示计算。...DataFramegroupby()方法计算,传递所需名称: df.groupby('key') # <pandas.core.groupby.DataFrameGroupBy object...A 0 1.5 B 1 2.5 C 2 3.5 另一个有用方案是传递字典列名称映射到要应用于该操作: df.groupby('key').aggregate({'data1': 'min',...'data2': 'max'}) data1 data2 key A 0 5 B 1 7 C 2 9 过滤 过滤操作允许你根据分组属性删除数据...索引映射到分组字典或序列 另一种方法是提供索引映射到分组字典df2 = df.set_index('key') mapping = {'A': 'vowel', 'B': 'consonant

    3.6K20

    在 Python 中,通过列表字典创建 DataFrame 时,若字典 key 顺序不一样以及部分字典缺失某些pandas如何处理?

    key()顺序不一样,pandas如何处理这种情况呢?...当通过列表字典创建 DataFrame 时,每个字典通常代表一数据,字典(key)对应列名,而(value)对应该行该数据。如果每个字典中键顺序不同,pandas如何处理呢?...顺序:在创建 DataFrame 时,pandas 会检查所有字典中出现,并根据这些首次出现顺序确定顺序。...df = pd.DataFrame(data, dtype=np.float64):这行代码使用 pandas DataFrame 函数 data 列表转换为 DataFrame。...输出结果展示如下: 我们从上面的示例就容易观察到: 生成 DataFrame 中顺序遵循了首次出现顺序。

    11900

    Pandas全景透视:解锁数据科学黄金钥匙

    如果传入是一个字典,则 map() 函数将会使用字典中键对应替换 Series 中元素。如果传入是一个函数,则 map() 函数将会使用该函数对 Series 中每个元素进行转换。...定义了填充空方法, pad / ffill表示用前面/,填充当前行/; backfill / bfill表示用后面/,填充当前行/。axis:轴。...0或’index’,表示按删除;1或’columns’,表示按删除。inplace:是否原地替换。布尔,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。...和right_on指定left_on:左表连接字段right_on:右表连接字段left_index:为True时左表索引作为连接,默认为Falseright_index:为True时右表索引作为连接...函数根据 'A' 合并两个 DataFramemerged_df = pd.merge(df1, df2, on='A')print("合并后 DataFrame:")print(merged_df

    10510

    Pandas

    the rows into the columns(索引变为取值) 两个函数默认都从最低level开始操作,然后转换为另外一个轴最低层级,可以传入 df 层级名称或者数字强制修改操作层级,...):根据 to_match 情况返回一个对 list 索引,为 list 索引 分组 Pandas 提供了 DataFrame.groupby()方法,按照指定分组具有相同键值记录划分为同一组...随机抽样 随机抽样用到df.sample(n)函数,该函数返回值为对于 df 以行为抽样单位进行随机抽样,返回值是从总体随机抽出 n 组成 df(默认不可以重复,可以调整参数) import...) 缺失补充 df.isnull().T.any() == True返回缺失所在行索引 也可以使用 pandas.DataFrame.fillna()方法进行常量填补() 输入字典指定每一填补...传入一个函数名组成列表,则会将每一个函数函数名作为返回值列名,如果不希望使用函数名作为列名,可以列表中元素写成类似’(column_name,function)'元组形式指定列名为name

    9.2K30

    《利用Python进行数据分析·第2版》第10章 数据聚合与分组运算10.1 GroupBy机制10.2 数据聚合10.3 apply:一般性“拆分-应用-合并”10.4 透视表和交叉表10.5 总

    例如,DataFrame可以在其(axis=0)或(axis=1)上进行分组。然后,一个函数应用(apply)到各个分组并产生一个新。...这里最重要是,数据(Series)根据分组进行了聚合,产生了一个新Series,其索引为key1唯一。...', 'e': 'red', 'f' : 'orange'} 现在,你可以这个字典传给groupby,构造数组,但我们可以直接传递字典(我包含了“f”强调,存在未使用分组是可以): In...任何被当做分组函数都会在各个索引上被调用一次,其返回值就会被用作分组名称。具体点说,以上一小节示例DataFrame为例,其索引为人名字。...它根据一个或多个对数据进行聚合,并根据和列上分组数据分配到各个矩形区域中。

    5K90

    Python数据分析-pandas库入门

    使用 NumPy 函数或类似 NumPy 运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引链接,代码示例: obj2*2 np.exp(obj2) 还可以 Series...DataFrame 既有索引也有索引,它可以被看做由 Series 组成字典(共用同一个索引)。DataFrame 中数据是以一个或多个二维块存放(而不是列表、字典或别的一维数据结构)。...另一种常见数据形式是嵌套字典,如果嵌套字典传给 DataFrame,pandas 就会被解释为:外层字典作为,内层则作为索引,代码示例: #DataFrame另一种常见数据形式是嵌套字典...03-26 4 5 6 7 2019-03-27 8 9 10 11 ''' # 根据标签选择数据 # 获取特定 # 指定行数据 print(df.loc['2019-03-25...['20190326', 'A']) ''' 4 ''' # 根据序列iloc获取特定位置, iloc是根据行数与数来索引 print(df.iloc[1,0]) # 13, numpy

    3.7K20

    Pandas常用数据处理方法

    本文Pandas知识点包括: 1、合并数据集 2、重塑和轴向旋转 3、数据转换 4、数据聚合 1、合并数据集 Pandas中合并数据集有多种方式,这里我们逐一介绍 1.1 数据库风格合并 数据库风格合并指根据索引或某一是否相等进行合并方式...2、重塑和轴向旋转 在重塑和轴向旋转中,有两个重要函数,二者互为逆操作: stack:数据旋转为 unstack:数据旋转为 先来看下面的例子: data = pd.DataFrame...我们使用unstack()数据旋转为,默认是最里层索引: result.unstack() ?...,则会根据数据最大和最小自动计算等长面元,比如下面的例子均匀分布数据分为四组: data = np.random.rand(20) pd.cut(data,4,precision=2) pandas...4.3 数据透视表 透视表是各种电子表格程序和其他数据分析软件中一种常见数据汇总工具,它根据一个或多个对数据进行聚合,并根据分组数据分配到各个矩形区域中。

    8.4K90

    python merge、concat合

    数据规整化:合并、清理、过滤 pandas和python标准库提供了一整套高级、灵活、高效核心函数和算法数据规整化为你想要形式!...’、‘left’、‘right’ on 用于连接列名,必须同时存在于左右两个DataFrame对象中,如果位指定,则以left和right列名交集作为连接 left_on 左侧DataFarme中用作连接...right_on 右侧DataFarme中用作连接 left_index 左侧索引用作其连接 right_index 右侧索引用作其连接 sort 根据连接对合并后数据进行排序...默认总是赋值 1、多对一合并(一个表连接列有重复,另一个表中连接没有重复) import pandas as pd import numpy as np df1 = pd.DataFrame...),可以是任意列表或数组、元组数据、数组列表(如果levels设置成多级数组的话) levels 指定用作层次化索引各级别(内层索引)上索引,如果设置keys的话 names 用于创建分层级别的名称

    1.8K10

    【Python篇】详细学习 pandas 和 xlrd:从零开始

    本篇博客将从零开始,带你学习如何使用 pandas 和 xlrd 读取、处理、修改和保存 Excel 文件数据。我们详细讲解每一步,并附带代码示例和输出结果。...df = pd.DataFrame(data) # 显示 DataFrame print(df) 解释 字典 data:我们创建了一个字典,其中每个(如 'Name')代表一数据,每个对应是一个列表...pd.DataFrame(data):pandas 提供 DataFrame 构造函数,用于字典转换为 DataFrame。...8.2 处理缺失数据 缺失 是指在数据集中某些字段没有数据,这是常见问题。我们可以选择删除包含缺失,或者用其他填补缺失。...删除包含缺失df.dropna():删除包含任何缺失,返回一个新 DataFrame。

    23010

    详细学习 pandas 和 xlrd:从零开始

    本篇博客将从零开始,带你学习如何使用 pandas 和 xlrd 读取、处理、修改和保存 Excel 文件数据。我们详细讲解每一步,并附带代码示例和输出结果。...df = pd.DataFrame(data) # 显示 DataFrame print(df) 解释 字典 data:我们创建了一个字典,其中每个(如 'Name')代表一数据,每个对应是一个列表...pd.DataFrame(data):pandas 提供 DataFrame 构造函数,用于字典转换为 DataFrame。...8.2 处理缺失数据 缺失 是指在数据集中某些字段没有数据,这是常见问题。我们可以选择删除包含缺失,或者用其他填补缺失。...删除包含缺失df.dropna():删除包含任何缺失,返回一个新 DataFrame。

    16410

    高效10个Pandas函数,你都用过吗?

    Query Query是pandas过滤查询函数,使用布尔表达式查询DataFrame,就是说按照规则进行过滤操作。...Where Where用来根据条件替换行或。如果满足条件,保持原来,不满足条件则替换为其他。默认替换为NaN,也可以指定特殊。...,否则替换为other other:替换特殊 inplace:inplace为真则在原数据上操作,为False则在原数据copy上操作 axis: dfvalue_1里小于5替换为...Isin Isin也是一种过滤方法,用于查看某中是否包含某个字符串,返回值为布尔Series,表明每一情况。...简单说就是指定放到铺开放到上变成两,类别是variable(可指定)是value(可指定)

    4.1K20

    Python之数据规整化:清理、转换、合并、重塑

    合并数据集 pandas.merge可根据一个或者多个不同DataFrame中连接起来。 pandas.concat可以沿着一条轴多个对象堆叠到一起。...数据风格DataFrame合并操作 2.1 数据集合并(merge)或连接(jion)运算时通过一个或多个链接起来。如果没有指定,merge就会将重叠列名当做,最好显示指定一下。...pd.merge(df1,df2,on='key') 2.2 默认情况下,merge做是"inner"连接,结果中是交集。其他方式有“left”、“right”、“outer”。...4.1 重塑层次化索引 层次化索引为DataFrame数据重排任务提供了良好一致性方式。主要两种功能: stack:数据“旋转”为。...unstack:数据“旋转”为。 5. 数据转换 5.1 利用函数或映射进行数据转换 Seriesmap方法可以接受一个函数或含有映射关系字典型对象。

    3.1K60

    Pandas merge用法解析(用Excel数据为例子)

    如果未传递且left_index和right_index为False,则DataFrame中交集将被推断为连接。 left_on:左侧DataFrame中或索引级别用作。...可以是列名,索引级名称,也可以是长度等于DataFrame长度数组。 right_on: 左侧DataFrame中或索引级别用作。...outer’取并集,出现A会进行一一匹配,没有同时出现会将缺失部分添加缺失。 sort: 按字典顺序通过连接对结果DataFrame进行排序。...indicator:添加到名为_merge输出DataFrame,其中包含有关每行源信息。..._merge是分类类型,并且对于其合并仅出现在“左”DataFrame中观察,取得为left_only,对于其合并仅出现在“右”DataFrame中观察为right_only,并且如果在两者中都找到观察点合并

    1.7K20
    领券