首页
学习
活动
专区
圈层
工具
发布

总结了67个pandas函数,完美解决数据处理,拿来即用!

df[col] # 根据列名,并以Series的形式返回列 df[[col1,col2]] # 以DataFrame形式返回多列 s.iloc[0] # 按位置选取数据 s.loc['index_one...df.rename(index=lambdax:x+1) # 批量重命名索引 数据分组、排序、透视 这里为大家总结13个常见用法。...col2降序排列数据 df.groupby(col) # 返回⼀个按列col进⾏分组的Groupby对象 df.groupby([col1,col2]) # 返回⼀个按多列进⾏分组的Groupby对象...df.groupby(col1)[col2].agg(mean) # 返回按列col1进⾏分组后,列col2的均值,agg可以接受列表参数,agg([len,np.mean]) df.pivot_table...、最⼩值的数据透视表 df.groupby(col1).agg(np.mean) # 返回按列col1分组的所有列的均值,⽀持 df.groupby(col1).col2.agg(['min','max

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

    NumPy:Python科学计算基础包

    1到索引5步长间隔为2的元素([1,3]),不包括右边元素5 nd[::-2] 获取倒叙,间隔2的元素([9 7 5 3 1]) nd[1:3, 1:3] 获取1,2行,1,2列的数据([[ 6 7][...改变维度的函数如下表所示: 函数 意义 nd.reshape 将向量nd维度进行改变,不修改向量本身 nd.resize 将向量nd维度进行改变,修改向量本身 nd.T 将向量nd进行转置 nd.ravel 将向量nd进行展平...,即多维变一维,不会产生原向量的副本 nd.flatten 将向量nd进行展平,即多维变一维,返回原数组的副本 nd.squeeze 只能对一维数组进行降维,多维不会报错,但没有任何影响 nd.transpose...5, 6, 7, 8, 9, 10]) print(nd.resize(5, 2)) # 行列对换 nd = np.arange(12).reshape(3, 4) print(nd.T) # 按照列优先展平...,没有参数按照行优先展平 nd = np.array([[1, 2], [3, 4]]) print(nd.ravel('F')) # 展平为一维 nd = np.array([[1, 2], [3,

    1.1K31

    pandas分组8个常用技巧!

    三、查找最大值(最小值)的索引 如果我们要查找每个组的最大值或最小值的索引时,有一个方便的功能可以直接使用。...也就是说,我们想重置分组索引以使其成为正常的行和列。 第一种方法可能大家常用,就是通过reset_index()让乱序索引重置。...里面,我们只要列出统计量的名称即可,便可同时对每个列进行多维度统计。...六、特定列的聚合 我们也看到了,上面是的多个操作对于每个列都是一样的。实际使用过程中,我们可能对于每个列的需求都是不一样的。 所以在这种情况下,我们可以通过为不同的列单独设置不同的统计量。...上面的多级索引看起来有点不太友好,我想把每个列下面的统计量和列名分别合并起来。可以使用NamedAgg来完成列的命名。 >>> iris_gb.agg( ...

    67520

    Pandas实现列表分列与字典分列的三个实例

    由于列索引多了一级,所以需要删除: df.agg({"补回原因": lambda x: x, "tmp": pd.Series}).droplevel(0, axis=1).head() 结果: ?...droplevel(0, axis=1)用于删除多级索引指定的级别,axis=0可以删除行索引,axis=1则可以删除列索引,第一参数表示删除级别0。...当然如果列索引存在名称时还可以传入名称字符串,可参考官网文档: df = pd.DataFrame([ ... [1, 2, 3, 4], ... [5, 6, 7, 8], ......下面重命名一下列名: _.rename(columns=lambda x: f"得分{x+1}") 结果: ? 然后还原索引: _.reset_index() 结果: ?...**.apply(pd.Series)则可以将每个字典对象转换成Series,则可以将该字典扩展到多列,并将原始的Series转换为Datafream。

    2.5K10

    Pandas中实现聚合统计,有几种方法?

    此时,功能更为强大的agg函数随之登场。agg是aggregation的缩写,可见其是专门用于聚合统计的,其可以接收多种不同的聚合函数,因而更具可定制性。...agg的函数文档如下: ? 这里,仍然以上述分组计数为例,讲解groupby+agg的三种典型应用方式: agg内接收聚合函数或聚合函数列表。...agg内接收聚合函数字典,其中key为列名,value为聚合函数或函数列表,可实现同时对多个不同列实现不同聚合统计。...agg内接收新列名+元组,实现对指定列聚合并重命名。...对于聚合函数不是特别复杂而又希望能同时完成聚合列的重命名时,可以选用此种方式,具体传参形式实际上采用了python中可变字典参数**kwargs的用法,其中字典参数中的key是新列名,value是一个元组的形式

    4.3K60

    人工智能之数据分析 Pandas:第十章 知识总结

    一、核心数据结构结构说明特点Series一维带标签数组类似带索引的 NumPy 数组,单列数据DataFrame二维表格型结构行(index)+ 列(columns),最常用✅ 所有操作围绕这两个对象展开...# 每列数据类型df.columns / df.index # 列名与行索引 四、数据选择与索引方法说明示例df['col']选单列(返回 Series)df['姓名']df[['col1',...'col2']]选多列(DataFrame)注意双括号.loc[row, col]标签索引(含末端)df.loc[0:2, 'A':'C'].iloc[row, col]位置索引(不含末端)df.iloc...已弃用)链式新增列assign()(推荐)分组标准化groupby().transform() 七、分组聚合(GroupBy)# 基础聚合df.groupby('部门')['工资'].mean()# 多列多函数...df.groupby('部门').agg({ '工资': ['mean', 'max'], '姓名': 'count'})# 命名聚合(pandas ≥ 0.25)df.groupby('部门

    42710

    Pandas 2.2 中文官方教程和指南(二十·二)

    分组的列将是返回对象的索引。 传递as_index=False 将返回聚合的组作为命名列,无论它们在输入中是命名的索引还是列。...*控制输出列名的特定列聚合*,pandas 在`DataFrameGroupBy.agg()` 和`SeriesGroupBy.agg()` 中接受特殊语法,称为“命名聚合”,其中 + 关键字是*...分组的列将是返回对象的索引。 传递as_index=False 将返回你正在聚合的组作为命名列,无论它们在输入中是命名的索引还是列。...,pandas 接受在DataFrameGroupBy.agg()和SeriesGroupBy.agg()中的特殊语法,称为“命名聚合”,其中 关键字是输出列名 这些值是元组,第一个元素是要选择的列...示例 多列因子化 通过使用 DataFrameGroupBy.ngroup(),我们可以提取有关组的信息,方式类似于 factorize()(在重塑 API 中进一步描述),但它自然适用于不同类型和不同来源的多列

    2.4K00

    适用于 PHP 8 的稳健型序列化反序列化库

    如果 strict 为 false,任何“类似数组”的值都会被接受,但会通过 array_values() 丢弃键并重建索引。...NestedPagination 本身也有一个需要被展平的字段。只要它们之间没有同名属性,两者都能正确地展平和收集。 此外,还有一个额外的数组属性 other。...other 可以包含任意关联数组,其值也会被展平到输出中。 在收集时,只有词法上最后一个被展平的数组会获得数据,并且会获得所有尚未被其他属性占用的属性。...flattenPrefix(string,默认 '') 当一个对象或数组属性被展平时,默认会使用其现有名称(或 serializedName ,如果指定)进行展平。...此时可以为被展平字段设置 flattenPrefix。该字符串会在序列化时附加在属性名之前。 如果设置在非被展平字段上,该值无意义,也不会生效。

    14810

    Python数据处理神器pandas,图解剖析分组聚合处理

    本文尝试把内部原理机制教会你,让你无需记忆这么多死板的规则即可灵活运用。 本文主要涉及的函数和要的: groupby apply agg transform 总结这些函数的特点,说明解决思路。...合并后,由于同个分组有多行数据,为了区别开来,合并结果的索引部分会带上数据源的索引。 ---- 有时候,自定义函数也需要额外的参数。...比如,希望返回 value 列减去指定值的新列 在调用 apply 时,传入命名参数值即可。 因为自定义首个参数是 DataFrame ,因此可以指定列表名,以此针对某列进行处理。...---- agg agg 的处理流程与 apply 基本一致。当注意 agg 的处理函数的首个参数是 Series。 注意,处理函数是分别处理每个字段(Series)。...一般在使用 transform 时,在 groupby 之后指定一列。 自定义函数中可以很容易求得 value 的均值。

    2K21

    人工智能之数据分析 Pandas:第四章 常用函数

    )列名df.columns返回 Index 对象行索引df.index默认 RangeIndex数据类型df.dtypes每列 dtype内存与非空统计df.info()包含缺失值、内存占用描述性统计df.describe...()数值列的均值、std、分位数等唯一值数量df.nunique()每列去重计数全表转置df.T行列互换三、数据选择与筛选功能方法示例选列(Series)df['col']df['姓名']选多列(DataFrame.../列.iloc[row, col]df.iloc[0:2, 0:2]布尔索引df[condition]df[df['工资'] > 10000]条件查询(推荐)df.query()df.query('工资...应使用 .loc[cond, 'col'] = x四、排序(Sorting)功能函数示例按值排序df.sort_values()df.sort_values('工资', ascending=False)多列排序同上...命名聚合(推荐)df.groupby('部门', as_index=False).agg( 平均工资=('工资', 'mean'), 人数=('姓名', 'count'), 最高薪=(

    82101

    ClickHouse系列--项目方案梳理

    pass 2.api展平–>kafka–>clickhouse 问题: api需要改造,数据需要写两套格式,要额外写一套ck的格式,侵入大。...pass 2.kafka–>roc–>clickhouse 优点: roc中进行数据清洗,展平,格式化等操作; 积压数据,批量写入; 对之前业务完全无侵入无影响; roc中需要实现: 消费逻辑...清洗,展平,格式化等逻辑; 批量写入逻辑; 失败处理逻辑; 2.细节选择 2.1表引擎选择 表引擎作用: 决定表存储在哪里以及以何种方式存储 支持哪些查询以及如何支持 并发数据访问 索引的使用...特点: 存储的数据按照主键排序:允许创建稀疏索引,从而加快数据查询速度 支持分区,可以通过PRIMARY KEY语句指定分区字段。...VersionedCollapsingMergeTree使用version列来实现乱序情况下的数据折叠。

    1.9K10

    Python辐射校正遥感图像并以一列的形式导出Excel

    本文介绍基于Python语言中的gdal模块,读取一景.tif格式的栅格遥感影像文件,提取其中每一个像元的像素数值,对像素值加以计算(辐射定标)后,再以一列数据的形式将计算后的各像元像素数据保存在一个...这里本文之所以需要用多行一列而非多行多列的矩阵格式来存放数据,是因为后面需要将这些像素数据当作神经网络的预测样本,即一行表示一个样本,所以就需要保存为多行一列;如果大家需要保存为多行多列的矩阵格式,那代码的思路还是一致的...意味着我们以只读方式打开遥感影像文件,并将返回的Dataset对象赋值给变量dataset;随后,获取第一个波段的像元值,这可以通过band = dataset.GetRasterBand(1)来完成(需要注意,这里波段编号的索引是从...首先,完成辐射定标,也就是通过data = data * 0.0001将像元值乘以0.0001;随后,将处理后的像元值按列展平——在这里,data_one_column = data.flatten()...表示我们使用flatten()方法将二维数组展平为一维数组,并将结果赋值给变量data_one_column。

    1.6K10
    领券