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

Pandas入门教程

索引操作 loc loc主要是基于标签(label)的,包括行标签(index)和标签(columns),即行名称和列名称,可以使用df.loc[index_name,col_name],选择指定位置的数据...标签的切片对象 data.loc[:,['name','salary']][:5] iloc iloc是基于位置的索引,利用元素在各个轴上的索引序号进行选择,序号超出范围会产生IndexError,...或命名的 Series 对象;right:另一个 DataFrame 或命名的 Series 对象; on: 要加入的索引级别名称; left_on:左侧 DataFrame 或 Series 的索引级别用作键...可以是列名称、索引级别名称或长度等于 DataFrame 或 Series 长度的数组;right_on:来自正确 DataFrame 或 Series 的索引级别用作键。...可以是列名称、索引级别名称或长度等于 DataFrame 或 Series 长度的数组 left_index:如果True,则使用左侧 DataFrame 或 Series 中的索引(行标签)作为其连接键

1.1K30

pandas用法-全网最详细教程

构建分层索引使用通过的键作为最外面的级别。如果多个级别获得通过,应包含元组。 levels︰ 列表的序列,默认为无。具体水平 (唯一值) 用于构建多重。否则,他们将推断钥匙。...) 3、按照特定的值排序: df_inner.sort_values(by=['age']) 4、按照索引排序: df_inner.sort_index() 5、如果prince的值>3000,group...df_inner的索引,列名称为category和size pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index...7、适应iloc按位置单独提起数据 df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5 8、使用ix按索引标签和位置混合提取数据 df_inner.ix[:'2013...和pivote_table 1、对所有的进行计数汇总 df_inner.groupby('city').count() 2、按城市对id字段进行计数 df_inner.groupby('city')[

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

    DataFrame.groupby()所见的各种用法详解

    axis : 接收 0/1;用于表示沿行(0)或(1)分割。 level : 接收int、级别名称或序列,默认为None;如果轴是一个多索引(层次化),则按一个或多个特定级别分组。...as_index:接收布尔值,默认Ture;Ture则返回以组标签索引的对象,False则不以组标签索引。...所见 2 :解决groupby.sum() 后层级索引levels上移的问题 上图中的输出二,虽然是 DataFrame 的格式,但是若需要与其他表匹配的时候,这个格式就有些麻烦了。...#不以组标签索引,通过 as_index 来实现 df_expenditure_mean = df.groupby(['Gender', 'name'], as_index=False).mean()...所见 3 :解决groupby.apply() 后层级索引levels上移的问题 在所见 2 中我们知道,使用参数 as_index 就可使 groupby 的结果不以组标签索引,但是后来在使用groupby.apply

    7.9K20

    三个你应该注意的错误

    然而,你可能会处理更大的DataFrame(数千或数百万行),这样就不可能进行视觉检查了。 始终牢记缺失值并检查它们。 我们要谈论的第二个悄悄错误是链式索引。...在Pandas的DataFrame上进行索引非常有用,主要用于获取和设置数据的子集。 我们可以使用行和标签以及它们的索引值来访问特定的行和标签集。 考虑我们之前示例中的促销DataFrame。...下面是一种做法: promotion["sales_qty"][1] = 45 我们首先选择销售数量,然后选择索引(也是标签)为1的第二行。这被称为“链式索引”,应该避免使用。...这些方法用于从DataFrame中选择子集。 loc:按行和标签进行选择 iloc:按行和的位置进行选择 默认情况下,Pandas将整数值(从0开始)分配为行标签。...因此,行标签索引值变得相同。 让我们在我们的促销DataFrame上做一个简单的示例。虽然它很小,但足够演示我即将解释的问题。 考虑一个需要选择前4行的情况。

    8810

    【Python环境】Python中的结构化数据分析利器-Pandas简介

    从列表的字典构建DataFrame,其中嵌套的每个列表(List)代表的是一个,字典的名字则是标签。这里要注意的是每个列表中的元素数量应该相同。...否则会报错: ValueError: arrays must all be same length 从字典的列表构建DataFrame,其中每个字典代表的是每条记录(DataFrame中的一行),字典中每个值对应的是这条记录的相关属性...属性,可以获得DataFrame的行和标签。...使用标签选取数据: df.loc[行标签,标签]df.loc['a':'b']#选取ab两行数据df.loc[:,'one']#选取one的数据 df.loc的第一个参数是行标签,第二个参数为标签...groupby的值作为索引,如果不将这些值作为索引,则需要使用as_index=False df.groupby(['A','B'], as_index=False).sum() 构建透视表 使用pivot_table

    15.1K100

    玩转Pandas,让数据处理更easy系列6

    是一个二维的结合数组和字典的结构,因此对行、而言,通过标签这个字典的key,获取对应的行、,而不同于Python, Numpy中只能通过位置找到对应行、,因此Pandas是更强大的具备可插可删可按照键索引的工具库...Pandas,让数据处理更easy系列1; 玩转Pandas,让数据处理更easy系列2) DataFrame可以方便地实现增加和删除行、 ( 玩转Pandas,让数据处理更easy系列2) 智能地带标签的切片...,好玩的索引提取大数据集的子集(玩转Pandas,让数据处理更easy系列2 ) 自动数据对齐,完全可以不考虑行、标签,直接append list....04 分(splitting) 分组就是根据默认的索引映射为不同索引取值的分组名称,来看如下所示的DataFrame实例df_data,可以按照多种方式对它分组,直接调用groupby接口, ?...df_data.groupby('A') 默认是按照axis=0分组的(行),如果按照,修改轴,即 df_data.groupby('A' , axis=1) 也可以按照多个分组,比如: df_data.groupby

    2.7K20

    数据导入与预处理-第6章-02数据变换

    2.2 轴向旋转(6.2.2 ) 掌握pivot()和melt()方法的用法,可以熟练地使用这些方法实现轴向旋转操作 2.2.1 pivot方法 pivot()方法用于将DataFrame类对象的某一数据转换为索引...基于值重塑数据(生成一个“透视”表)。使用来自指定索引/的唯一值来形成结果DataFrame的轴。此函数不支持数据聚合,多个值将导致中的MultiIndex。...value_vars:表示待转换的索引,若剩余都需要转换,则忽略此参数。 var_name:表示自定义的索引。 value_name:表示自定义的数据所在索引。...该参数的默认值为0,代表沿方向操作。 level:表示标签索引所在的级别,默认为None。 as_index:表示聚合后新数据的索引是否为分组标签索引,默认为True。...sort:表示是否对分组索引进行排序,默认为True。 group_keys:表示是否显示分组标签的名称,默认为True。

    19.3K20

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

    你可以像通过标签索引一样提供任何选择器,参见按标签选择,包括切片、标签列表、标签和布尔索引器。 你可以使用slice(None)来选择该级别的所有内容。...你不需要指定所有更深层次的级别,它们将被隐含为slice(None)。 与标签索引一样,切片器的两侧都包括在内。 警告 你应该在.loc指定器中指定所有轴,即索引索引器。...,通常用于重命名`DataFrame`的。...您可以使用slice(None)来选择该级别的所有内容。您不需要指定所有更深层次的级别,它们将被隐含为slice(None)。 通常情况下,切片器的两侧都包含在内,因为这是标签索引。...,通常用于重命名DataFrame

    52910

    超全的pandas数据分析常用函数总结:下篇

    5.1 数据的合并 用merge合并 DataFrame.merge(self,right,how =‘inner’,on = None) right指要合并的对象 on指要加入的索引级别名称,必须在两个...data.reset_index(drop=True) # 重置索引,并且避免将旧索引添加为 输出结果: ?...数据提取 下面这部分会比较绕: loc函数按标签值进行提取,iloc按位置进行提取pandas.DataFrame.loc() 允许输入的值: 单个标签,例如5或’a’,(请注意,5被解释为索引标签,...标签列表或数组,例如。[‘a’, ‘b’, ‘c’] 具有标签的切片对象,例如’a’:‘f’,切片的开始和结束都包括在内。...数据汇总 8.1 以department属性对所有进行计数汇总 data.groupby("department").count() 输出结果: ?

    4.9K20

    超全的pandas数据分析常用函数总结:下篇

    5.1 数据的合并 用merge合并 DataFrame.merge(self,right,how =‘inner’,on = None) right指要合并的对象 on指要加入的索引级别名称,必须在两个...data.reset_index(drop=True) # 重置索引,并且避免将旧索引添加为 输出结果: ?...数据提取 下面这部分会比较绕: loc函数按标签值进行提取,iloc按位置进行提取pandas.DataFrame.loc() 允许输入的值: 单个标签,例如5或’a’,(请注意,5被解释为索引标签,...标签列表或数组,例如。[‘a’, ‘b’, ‘c’] 具有标签的切片对象,例如’a’:‘f’,切片的开始和结束都包括在内。...数据汇总 8.1 以department属性对所有进行计数汇总 data.groupby("department").count() 输出结果: ?

    3.9K20

    用多个和函数进行分组和聚合3. 分组后去除多级索引4. 自定义聚合函数5. 用 *args 和 **kwargs

    ---- 第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 第07章 分组聚合、过滤、转换...) Out[3]: # 或者要选取的使用索引,聚合函数作为字符串传入agg In[4]: flights.groupby('AIRLINE')['ARR_DELAY'].agg('mean').head...# 行和都有两级索引,get_level_values(0)取出第一级索引 In[15]: level0 = airline_info.columns.get_level_values(0)...更多 # Pandas默认会在分组运算后,将所有分组的放在索引中,as_index设为False可以避免这么做。...,groups属性是一个字典,包含每个独立分组与行索引标签的对应 In[45]: groups = list(grouped.groups.keys()) groups[:6] Out

    8.9K20

    精通 Pandas:1~5

    键将成为数据帧结构中的标签,列表中的数据将成为值。 注意如何使用np.range(n)生成行标签索引。...DataFrame.from_items:需要一些(键,值)对。 键是索引名,值是或行值。 如果希望键为行索引名,则必须指定orient ='index'作为参数并指定列名。...这里要学习的关键知识是,多重索引的当前版本要求对标签进行排序,以使较低级别的切片例程正常工作。 为此,您可以利用sortlevel()方法对多重索引中的轴的标签进行排序。...如果我们的数据帧具有多重索引,则可以使用groupby按层次结构的不同级别分组并计算一些有趣的统计数据。...-即'group'—成为多重索引中新的最低级别

    19.1K10

    Pandas

    [:][m:n] DataFrame.head/tail():访问前/后五行 整数标签的特殊情况 为了防止计算机不知道用户输入的索引是基于位置还是基于标签的,pd 整数标签索引是基于标签的,也就是说我们不能像列表一样使用...,还可以通过以下方法进行修改: df=pd.DataFrame(data,index,column) df.index.names= df.columns.names= 具体传入参数根据标签和行标签进行适当调整即可...,在进行 reindex 时还可以进行缺失值的填充,一个方法是’ffill’(“forward-fills”),实现对缺失索引的前向填充: 一般来说,我们很少使用 df 的多级标签,更多的情况是将标签转化为行标签...,这时就可以借助 df.set_index 方法: drop:Bool,决定将标签设置为行标签时原来的标签是否保留 frame = pd.DataFrame({'a': range(7), 'b':...其中 x 为 DataFrame 或分组对象 GroupBy object 的的泛指。

    9.2K30

    Pandas必会的方法汇总,数据分析必备!

    ,设置新的从0开始的索引,常与groupby()一起用 举例:重新索引 df_inner.reset_index() 三、数据索引 序号 方法 说明 1 .values 将DataFrame转换为ndarray...9 .drop() 删除Series和DataFrame指定行或索引。 10 .loc[行标签标签] 通过标签查询指定的数据,第一个值为行标签,第二值为标签。...9 reindex 通过标签选取行或 10 get_value 通过行和标签选取单一值 11 set_value 通过行和标签选取单一值 举例:使用iloc按位置区域提取数据 df_inner.iloc...[:3,:2] #冒号前后的数字不再是索引标签名称,而是数据所在的位置,从0开始,前三行,前两。...举例:判断city的值是否为北京 df_inner['city'].isin(['beijing']) 七、分组的方法 序号 方法 说明 1 DataFrame.groupby() 分组函数 2 pandas.cut

    5.9K20
    领券