學習也能夠有趣,喜歡上pandas,你該這麼學!No.4

叨叨博主即將上線

昨天有個博友評論說,html

喂,大佬,文章看的很爽,可是,代碼爲啥沒有右邊→_→的呢數組

咦?嚇的我機靈數據結構

在這裏插入圖片描述

難道個人代碼寫了一半麼... ...框架

美麗大方的博主怎麼能犯如此錯誤函數

趕忙打開,左看右看,完整的呀學習

突然間,意識到,是手機版本spa

手機... ... 哥,手機你滑一下就好了。.net

唉,對,向左這麼一撥拉,就看到右邊的代碼了... ...excel

在這裏插入圖片描述

昨天說了,要寫dataframe,那麼今天就寫它了

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])
複製代碼

額,好像少了一個,本身補上吧

看着是否是像二維數組的用法

像,就對了

就這個類比,

學習才快

一個機智風趣的大大大佬,夢想橡皮擦,這是她的公衆號,你不想關注一下嗎

其實不關注,給我一個評論,也是極好的

畢竟,我但是要上頭條的人

在這裏插入圖片描述

最最後,祝你

在這裏插入圖片描述
相關文章
相關標籤/搜索