昨天有個博友評論說,html
喂,大佬,文章看的很爽,可是,代碼爲啥沒有右邊→_→的呢數組
咦?嚇的我機靈數據結構
難道個人代碼寫了一半麼... ...框架
美麗大方的博主怎麼能犯如此錯誤函數
趕忙打開,左看右看,完整的呀學習
突然間,意識到,是手機版本spa
手機... ... 哥,手機你滑一下就好了。.net
唉,對,向左這麼一撥拉,就看到右邊的代碼了... ...excel
dataframe英文機翻 數據框架code
其實它是一種表格型數據結構
看到沒?又是表格,就是那個excel
它含有一組有序的列,每列能夠是不一樣的值。
DataFrame既有行索引
,也有列索引
因此有兩個新詞須要記住
列名(列索引)columns 與行名(行索引)index
舉個栗子
看一下dataframe怎麼建立出來
通常,也就是最經常使用的,根據字典建立
記住,是字典哦
import pandas as pd
dict = {
'boys':[1,2,3],
'girl':[5,6,7]
}
df = pd.DataFrame(dict)
print(df)
複製代碼
哇塞,寫完了,真厲害 用一個字典就建立了一個dataframe
結果展現爲
注意看,這是一個3行2列的數據
上圖綠框框區域就是數據的核心區域了
dict中boy和girl是字典的key 對應的dataframe中的columns name
因爲咱們偷懶,沒有設置index,
因此它,就跟series同樣,自動給咱們生成一個數字索引
沒設置?
那就表示能夠設置嘍!
那還囉嗦啥,上吧
dict = {
'boys':[1,2,3],
'girls':[5,6,7]
}
df = pd.DataFrame(dict,index=['a','b','c'])
print(df)
複製代碼
結果符合咱們想的預期(我就知道)
boys girls
a 1 5
b 2 6
c 3 7
複製代碼
在改改,修改爲class1,class2,class3
唉,符合情景了,每一個班的男神,女神人數
boys girl
class1 1 5
class2 2 6
class3 3 7
複製代碼
第一種建立方式搗鼓完畢了
還能怎麼建立呢?
起開,我要秀了
仍是剛纔那個數據
df = pd.DataFrame([[1,5],[2,6],[3,7]],index=['class1','class2','class3'])
print(df)
複製代碼
我沒有用dict,用了一個二維數組
這個地方,你注意
dataframe中數組是按照行寫的
爲啥這麼寫,這表示
一班男女多少人 二班男女多少人 三班男女多少人
這是咱們人類的正常描述邏輯
結果看一下
0 1
class1 1 5
class2 2 6
class3 3 7
複製代碼
不完美!boys和girls不見了,由於聲明的時候沒有用
因此,居然給咱們默認值0,1了
這怎麼能忍!
趕忙翻翻手冊
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df)
複製代碼
這就對了,剛纔還說dataframe有columns和index呢
咱們給設置上,不就完了
O98k
又學會了,分開建立的一種方式了
鼓鼓掌,繼續吧
其實還能從文件中建立
由於這個我想放到後面講
因此就沒寫上
其實博主是一個很是沉穩的人物
你看,我以前寫過 blog.csdn.net/hihell/arti… 多麼技術向的技術文章!
接下來,就要用了
用它幹事,纔是硬道理
第一個,你要獲取吧
數據拿到了,不讀取,哪有這個道理
這個地方,仍是時刻打開着官方文章,
要不我隨時翻車
pandas.pydata.org/pandas-docs…
獲取一列
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df['boys'])
複製代碼
這個獲取到的是一個series
若是我想要同時獲取boys和girls呢?
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df[['boys','girls']])
複製代碼
只須要df[]
中在嵌套你想要的columns列名稱就能夠了
df[['列名1','列名2']
]
必定要注意是這樣子的哦~
若是獲取一行呢?
好慌,我好像沒準備, 被問住了... ...
df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
#print(df[['boys','girls']])
print(df.ix[0])
print(df.ix['class1'])
複製代碼
你只需添加一個ix
就能夠啦
固然,做爲大佬的夢想橡皮擦,確定還有其餘辦法
咱們後面說函數的時候
在細細分解
我要獲取dataframe中的一個值?
一個值?
你是想獲取class1班的boys數量?
yes 是的
我隨手就甩給你4個辦法
print(df['boys'][0])
print(df['boys']['class1'])
print(df.ix['class1'][0])
複製代碼
額,好像少了一個,本身補上吧
看着是否是像二維數組的用法
像,就對了
就這個類比,
學習才快
其實不關注,給我一個評論,也是極好的
畢竟,我但是要上頭條的人
最最後,祝你