啊,大海啊,全是水
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切片,選擇索引的數量
好了,多層索引先寫到這里啦
明天繼續,彩蛋時間
歡迎關注公眾號哦
今天必須要黑一個網站了
這個網站叫做博x園
發文章的邏輯是這樣的
發布的時候
用戶可以自己選擇是否上傳首頁
看好,自己選擇
然后,管理員在把“不好”的刪掉
用什么定義不好呢?這要看“權限狗們”如何看待了
重點來了,畫重點
它不但刪你的文章,還封禁你推送的功能
一句話,你隨便發,我隨便封
rubbish
以后如果測試壓力代碼,全部往垃圾園扔
個人牢騷,不接受反駁