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

pandas多级索引的骚操作!

# 数组 # 每个数组对应着一个层级的索引值 arrays = [['北京','北京','上海','上海'],['北大','清华','上交','复旦']] mindex = pd.MultiIndex.from_arrays...电子'], level=1) # 修改列二级索引 04 按层级排序索引 sortlevel对索引的不同层级按升降序的方法排序,level指定层级,ascending指定是否升序。...=1, ascending=False) # 对列二级索引倒序排序 05 索引层级互换 swaplevel对指定的两个索引层级进行互换,比如将2和3互换,1和2互换等等。...函数可以按指定的顺序进行重新排序,order参数可以是整数的level层级或者字符串的索引名,用法如下。...比如,对列索引进行此操作,得到了元组形式的一二级索引对。

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

    Pandas 2.2 中文官方教程和指南(七)

    通过 Hernan Rojas 学习熊猫 为新熊猫用户准备的一套课程:bitbucket.org/hrojas/learn-pandas 用 Python 进行实用数据分析 这个指南是一个介绍如何使用...) 使用分层索引进行高级索引 对MultiIndex进行排序 取值方法 索引类型 杂项索引常见问题解答 写时复制(CoW) 先前的行为 迁移至写时复制...索引的不同选择 基础知识 属性访问 切片范围 按标签选择 按位置选择 通过可调用进行选择 结合位置和基于标签的索引 选择随机样本 带扩展的设置...类似字典的 get() 方法 通过索引/列标签查找值 索引对象 设置/重置索引 返回视图与副本 MultiIndex / 高级索引 分层索引(MultiIndex...) 具有分层索引的高级索引 MultiIndex 的排序 Take 方法 索引类型 杂项索引 FAQ 写时复制(CoW) 之前的行为 迁移到写时复制

    40900

    数据科学 IPython 笔记本 7.8 分层索引

    在本节中,我们将探索MultiIndex对象的直接创建,在对多重索引数据执行索引,切片和计算统计数据时的注意事项,以及在数据的简单和分层索引表示之间进行转换的有用例程。...例如,正如我们之前所做的那样,你可以从一个简单的数组列表中构造MultiIndex,提供每个层次中的索引值: pd.MultiIndex.from_arrays([['a', 'a', 'b', 'b'...排序和未排序索引 早些时候,我们简要地提到了一个警告,但我们应该在这里强调一下。如果索引未排序,多数MultiIndex切片操作将失败。在这里我们来看看。...我们首先创建一些简单的多重索引数据,其中索引不是按字母顺序排序: index = pd.MultiIndex.from_product([['a', 'c', 'b'], [1, 2]]) data =...由于各种原因,部分切片和其他类似操作要求MultiIndex中的层次是(按字母顺序)排序的。

    4.3K20

    数据分析索引总结(中)Pandas多级索引

    但直接比较两个顺序不同的多重索引, 返回值是一个布尔值array, 并不如预期的那样。...方法4:使用pd.IndexSlice对层次索引按次级索引的值进行切片 df_using_mul.loc(axis=0)[pd.IndexSlice[:, 'street_1']] pd.IndexSlice...所以这里大概是有一个自动推断的过程:如果第一个位置是元组,那就默认是按照元组的相应位置去对应相应层级的索引的值;如果第一个位置是元素, 那就默认直接对应第一层索引的相应取值。...索引Slice的使用非常灵活 df_s.sum()默认为对列求和,因此返回一个长度为9的数值列表。...particular axis. # 有必要增加一个sort_index=True的参数, 使得可以通过该参数设置交换索引后是否按索引重新排序 df_using_mul.swaplevel??

    4.6K20

    Pandas图鉴(四):MultiIndex

    在其内部,它只是一个扁平的标签序列,如下图所示: 还可以通过对行标签进行排序来获得同样的groupby效果: sort_index 你甚至可以通过设置一个相应的Pandas option 来完全禁用可视化分组...时同样适用于索引): 如何防止 stack/unstack 的排序 stack和unstack都有一个缺点,就是对结果的索引进行不可预知的排序。...而对于不那么琐碎的顺序,比如说,中国各省市的顺序,又该如何处理? 在这种情况下,Pandas所做的只是简单地按字母顺序排序,你可以看到下面: 虽然这是一个合理的默认值,但它仍然感觉不对。..."index"(又称 "info"轴); sort=False,可选择在操作后对相应的MultiIndex进行排序; inplace=False,可选择执行原地操作(对单个索引不起作用,因为它是不可变的...一般来说,使用get_level和set_level来对标签进行必要的修正就足够了,但是如果想一次性对MultiIndex的所有层次进行转换,Pandas有一个(名字不明确的)函数rename,它接受一个

    62120

    最全面的Pandas的教程!没有之一!

    对 Series 进行算术运算操作 对 Series 的算术运算都是基于 index 进行的。...我们可以用加减乘除(+ - * /)这样的运算符对两个 Series 进行运算,Pandas 将会根据索引 index,对响应的数据进行计算,结果将会以浮点数的形式存储,以避免丢失精度。 ?...你可以从一个包含许多数组的列表中创建多级索引(调用 MultiIndex.from_arrays ),也可以用一个包含许多元组的数组(调用 MultiIndex.from_tuples )或者是用一对可迭代对象的集合...排序 如果想要将整个表按某一列的值进行排序,可以用 .sort_values() : ? 如上所示,表格变成按 col2 列的值从小到大排序。...,index 表示按该列进行分组索引,而 columns 则表示最后结果将按该列的数据进行分列。

    26K64

    Pandas Sort:你的 Python 数据排序指南

    在多列上对 DataFrame 进行排序 按升序按多列排序 更改列排序顺序 按降序按多列排序 按具有不同排序顺序的多列排序 根据索引对 DataFrame 进行排序 按升序按索引排序 按索引降序排序 探索高级索引排序概念...在单列上对 DataFrame 进行排序 要根据单列中的值对 DataFrame 进行排序,您将使用.sort_values(). 默认情况下,这将返回一个按升序排序的新 DataFrame。...使用熊猫,您可以通过单个方法调用来完成此操作。如果要按升序对某些列进行排序,并按降序对某些列进行排序,则可以将布尔值列表传递给ascending....按升序按索引排序 您可以根据行索引对 DataFrame 进行排序.sort_index()。像在前面的示例中一样按列值排序会重新排序 DataFrame 中的行,因此索引变得杂乱无章。...您可以.set_index()在 pandas 文档中阅读有关使用的更多信息。 按索引降序排序 对于下一个示例,您将按索引按降序对 DataFrame 进行排序。

    14.3K00

    Pandas的函数应用、层级索引、统计计算1.Pandas的函数应用apply 和 applymap排序处理缺失数据2.层级索引(hierarchical indexing)MultiIndex索引对

    按值排序 sort_values(by='column name') 根据某个唯一的列名进行排序,如果有其他相同列名则报错。...示例代码: # 按值排序 df4_vsort = df4.sort_values(by=0, ascending=False) print(df4_vsort) 运行结果: 1...(hierarchical indexing) 下面创建一个Series, 在输入索引Index时,输入了由两个子list组成的list,第一个子list是外层索引,第二个list是内层索引。...索引对象 打印这个Series的索引类型,显示是MultiIndex 直接将索引打印出来,可以看到有lavels,和labels两个信息。...sortlevel() .sortlevel( )先对外层索引进行排序,再对内层索引进行排序,默认是升序。

    2.3K20

    python对100G以上的数据进行排序,都有什么好的方法呢

    Pandas 排序方法入门 快速提醒一下,DataFrame是一种数据结构,行和列都带有标记的轴。您可以按行或列值以及行或列索引对 DataFrame 进行排序。...在单列上对 DataFrame 进行排序 要根据单列中的值对 DataFrame 进行排序,您将使用.sort_values(). 默认情况下,这将返回一个按升序排序的新 DataFrame。...使用熊猫,您可以通过单个方法调用来完成此操作。如果要按升序对某些列进行排序,并按降序对某些列进行排序,则可以将布尔值列表传递给ascending....按升序按索引排序 您可以根据行索引对 DataFrame 进行排序.sort_index()。像在前面的示例中一样按列值排序会重新排序 DataFrame 中的行,因此索引变得杂乱无章。...您可以.set_index()在 pandas 文档中阅读有关使用的更多信息。 按索引降序排序 对于下一个示例,您将按索引按降序对 DataFrame 进行排序。

    10K30

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

    使用分层索引进行高级索引 在使用.loc进行高级索引时,将MultiIndex在语法上整合在一起有点具有挑战性,但我们已经尽力做到了。一般来说,MultiIndex 键采用元组的形式。...有一些模棱两可的情况,传递的索引器可能被误解为对两个轴进行索引,而不是例如对行的MultiIndex进行索引。...在 pandas 对象的reindex()和align()方法中使用参数level对值进行广播是很有用的。...对MultiIndex进行排序 为了有效地对MultiIndex对象进行索引和切片,它们需要被排序。与任何索引一样,您可以使用sort_index()。...CategoricalIndex(['a', 'a', 'a'], categories=['c', 'a', 'b'], ordered=False, dtype='category', name='B') 对索引进行排序将按照类别的顺序进行排序

    53110

    系统性的学会 Pandas, 看这一篇就够了!

    # 直接修改原来的值 data['close'] = 1 # 这一列都变成1 # 或者 data.close = 1 2.3 排序 排序有两种形式,一种对于索引进行排序,一种对于内容进行排序: 2.3.1...(ascending=)给索引进行排序 这个股票的日期索引原来是从大到小,现在重新排序,从小到大: # 对索引进行排序 data.sort_index() 结果: 2.3.2 Series排序 (...以上这些函数可以对series和dataframe操作,这里我们按照时间的从前往后来进行累计 排序 # 排序之后,进行累计求和 data = data.sort_index() 对p_change进行求和...(4)自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,对颜色分组,price进行聚合: # 按color分组,再取出price1列求平均值 col.groupby(['color'])['price1'].mean() # 和上述一个功能 col['price1

    4.1K20

    系统性的学会 Pandas, 看这一篇就够了!

    # 直接修改原来的值 data['close'] = 1 # 这一列都变成1 # 或者 data.close = 1 2.3 排序 排序有两种形式,一种对于索引进行排序,一种对于内容进行排序: 2.3.1...(ascending=)给索引进行排序 这个股票的日期索引原来是从大到小,现在重新排序,从小到大: # 对索引进行排序 data.sort_index() 结果: 2.3.2 Series排序 (...以上这些函数可以对series和dataframe操作,这里我们按照时间的从前往后来进行累计 排序 # 排序之后,进行累计求和 data = data.sort_index() 对p_change进行求和...(4)自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,对颜色分组,price进行聚合: # 按color分组,再取出price1列求平均值 col.groupby(['color'])['price1'].mean() # 和上述一个功能 col['price1

    4.6K30

    系统性总结了 Pandas 所有知识点

    # 直接修改原来的值 data['close'] = 1 # 这一列都变成1 # 或者 data.close = 1 2.3 排序 排序有两种形式,一种对于索引进行排序,一种对于内容进行排序: 2.3.1...=)给索引进行排序 这个股票的日期索引原来是从大到小,现在重新排序,从小到大: # 对索引进行排序 data.sort_index() 结果: 2.3.2 Series排序 (1)使用series.sort_values...以上这些函数可以对series和dataframe操作,这里我们按照时间的从前往后来进行累计 排序 # 排序之后,进行累计求和 data = data.sort_index() 对p_change进行求和...4、自定义运算 apply(func, axis=0) func:自定义函数 axis=0:默认是列,axis=1为行进行运算 定义一个对列,最大值-最小值的函数 下面看个例子: data[['open...,对颜色分组,price进行聚合: # 按color分组,再取出price1列求平均值 col.groupby(['color'])['price1'].mean() # 和上述一个功能 col['price1

    3.3K20
    领券