内容简介:pandas啊,全是坑 没错,今天继续学习难的 其实从这篇开始,每一篇都是难得...... 你必须要努力看了文末有彩蛋我们先创建一个分层索引,看看效果
pandas啊,全是坑 没错,今天继续学习难的 其实从这篇开始,每一篇都是难得...... 你必须要努力看了
文末有彩蛋
分层/多级索引
我们先创建一个分层索引,看看效果
这个创建,办法有好几个
看一下吧
通过 from_tuples
创建
import pandas as pd import random arrays = [['bar','bar','baz','baz','foo','foo'], ['one','two','one','two','one','two']] tuples = list(zip(*arrays)) print(tuples) index = pd.MultiIndex.from_tuples(tuples,names=['first','second']) print(index) s = pd.Series([3,1,4,1,5,9],index=index) print(s) 复制代码
通过调用 pd.MultiIndex.from_tuples
我们可以传入一个元组列表搞定
也可以采用两个迭代中的每个元素配对
使用 MultiIndex.from_product
iterables = [['bar','baz','foo'],['one','two']] index = pd.MultiIndex.from_product(iterables,names=['first','second']) print(index) 复制代码
效果是一样的哦
在来一个比较方便的,生成一个多层索引
直接将列表传递到Series或者DataFrame中去看看
arrays = [['bar','bar','baz','baz','foo','foo'], ['one','two','one','two','one','two']] s = pd.Series([3,1,4,1,5,9],index=arrays) print(s) 复制代码
看好这个一一对应的关系就好了
用到dataframe上,也是一样的哦 没啥区别
最新的0.24版本的pandas里面 看,写就写最新的
增加了一个方法 MultiIndex.from_frame
MultiIndex.from_frame(df, sortorder=None, names=None)
使用起来,比较清晰
df = pd.DataFrame([['A','nice'],['A','to'], ['B','good'],['B','ye']], columns=['first','second']) print(df) index = pd.MultiIndex.from_frame(df) print(index) 复制代码
注意啊,这个是0.24版本以上的pandas可以用
小注意
所有的MultiIndex构造函数都接收一个names参数,该参数存储index自己的名称,如果没有传递,默认值为None
索引可以设置在pandas对象的任意轴上
这种情况,直接抛栗子就好了
data = [[1,2,4,5,6,7],[1,2,3,4,5,6]] arrays = [['bar','bar','baz','baz','foo','foo'], ['one','two','one','two','one','two']] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples,names=['first','second']) df = pd.DataFrame(data,index=['A','B'],columns=index) print(df) 复制代码
查阅结果,看到columns 列名,已经被修改成多级的
如果你要继续尝试,别着急,新的代码来了
data = [[1,2,4,5],[1,2,3,4]] arrays = [['bar','bar','baz','baz','foo','foo'], ['one','two','one','two','one','two']] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples,names=['first','second']) df = pd.DataFrame(data,index=['A','B'],columns=index[:4]) print(df) 复制代码
直接使用index切片,选择索引的数量
以上所述就是小编给大家介绍的《pandas越来越难学,只能自己找趣味了,你该这么学,No.11》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 字符串模式匹配趣味算法
- 3道趣味Python题,非常适合菜鸟练手
- 理解循环网络及其在移动端的趣味应用:AI 诗人
- 趣味漫画:如何使用不同的编程语言来造一匹马
- 趣味漫画:如何使用不同的编程语言来造一匹马
- 知识更新越来越快,但是学习起来越来越困
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
iPhone开发实战
2009-10 / 69.00元
《iPhone开发实战》全面探讨了iPhone平台的两种编程方式——Web开发和SDK编程。全书结合示例对这两种编程方式的基本流程、基本原理和基本原则给出了详细而通俗的讲解。在Web开发方面,分别介绍了三个iPhone Web库,即WebKit、iUI和Canvas,并讨论了Web开发环境Dashcode,最后阐述Web应用程序的调试。在SDK开发方面,详细描述其各种组件和功能,包括Xcode、I......一起来看看 《iPhone开发实战》 这本书的介绍吧!