91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DataFrame怎么在Pandas庫中使用

發布時間:2021-03-24 17:15:32 來源:億速云 閱讀:151 作者:Leah 欄目:開發技術

這篇文章給大家介紹DataFrame怎么在Pandas庫中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1 簡介

DataFrame是Python中Pandas庫中的一種數據結構,它類似excel,是一種二維表。

或許說它可能有點像matlab的矩陣,但是matlab的矩陣只能放數值型值(當然matlab也可以用cell存放多類型數據),DataFrame的單元格可以存放數值、字符串等,這和excel表很像。

同時DataFrame可以設置列名columns與行名index,可以通過像matlab一樣通過位置獲取數據也可以通過列名和行名定位,具體方法在后面細說。

2 創建DataFrame

首先聲明一下,以下都是使用的Python 3.6.5版本為例,Python2應該也差不多吧(大概

在所有操作之前當然要先import必要的pandas庫,因為pandas常與numpy一起配合使用,所以也一起import吧。

import pandas as pd
import numpy as np

如果還沒安裝直接在cmd里pip安裝吧,如果有版本選擇問題,參看之前的帖子。

pip install pandas
pip install numpy

2.1 直接創建

可以直接使用pandas的DataFrame函數創建,比如接下來我們隨機創建一個4*4的DataFrame。

df1=pd.DataFrame(np.random.randn(4,4),index=list('ABCD'),columns=list('ABCD'))

其中第一個參數是存放在DataFrame里的數據,第二個參數index就是之前說的行名(或者應該叫索引?),第三個參數columns是之前說的列名。

后兩個參數可以使用list輸入,但是注意,這個list的長度要和DataFrame的大小匹配,不然會報錯。當然,這兩個參數是可選的,你可以選擇不設置。

而且發現,這兩個list是可以一樣的,但是每行每列的名字在index或columns里要是唯一的。

使用python自己的shell展示創建的結果是這樣的:

DataFrame怎么在Pandas庫中使用

或者在jupyter里面更酷點的樣子,接下來都使用jupyter輸出展示吧。

DataFrame怎么在Pandas庫中使用

當然,如果你的數據量賊小,也可以自己輸入創建,類似這樣。

df2=pd.DataFrame([[1,2,3,4],[2,3,4,5],
         [3,4,5,6],[4,5,6,7]],
         index=list('ABCD'),columns=list('ABCD'))

這樣也可以得到這樣子的DataFrame:

DataFrame怎么在Pandas庫中使用

2.2 使用字典創建

仍然是使用DataFrame這個函數,但是字典的每個key的value代表一列,而key是這一列的列名。比如這樣。

dic1={'name':['小明','小紅','狗蛋','鐵柱'],'age':[17,20,5,40],'gender':['男','女','女','男']}
df3=pd.DataFrame(dic1)

輸出結果是這樣的

DataFrame怎么在Pandas庫中使用

3 查看與篩選數據

python沒有matlab的工作區直接查看變量與內容,這大概是python科學計算的一個缺點。所以需要格外的代碼來查看,最基本的直接寫變量名與print就不說了。

3.1 查看列的數據類型

使用dtypes方法可以查看各列的數據類型,比如說剛剛的df3。

df3.dtypes

輸出的結果是這樣:

DataFrame怎么在Pandas庫中使用

3.2 查看DataFrame的頭尾

使用head可以查看前幾行的數據,默認的是前5行,不過也可以自己設置。

使用tail可以查看后幾行的數據,默認也是5行,參數可以自己設置。

比如隨意設置一個6*6的數據,只看前5行。

df4=pd.DataFrame(np.random.randn(6,6))
df4.head()

DataFrame怎么在Pandas庫中使用

比如只看前3行。

df4.head(3)

DataFrame怎么在Pandas庫中使用

比如看后5行。

df4.tail()

DataFrame怎么在Pandas庫中使用

比如只看后2行。

df4.tail(2)

DataFrame怎么在Pandas庫中使用

3.3 查看行名與列名

使用index查看行名,columns查看列名。具體由例子感受吧。

查看行名。

df1.index

DataFrame怎么在Pandas庫中使用

查看列名。

df3.columns

DataFrame怎么在Pandas庫中使用

3.4 查看數據值

使用values可以查看DataFrame里的數據值,返回的是一個數組。

比如說查看所有的數據值。

df3.values

DataFrame怎么在Pandas庫中使用

比如說查看某一列所有的數據值。

df3['name'].values

DataFrame怎么在Pandas庫中使用

還有另一種操作,使用loc或者iloc查看數據值(但是好像只能根據行來查看?)。區別是loc是根據行名,iloc是根據數字索引(也就是行號)。

比如說這樣。

df1.loc['A']

DataFrame怎么在Pandas庫中使用

或者這樣。

df1.iloc[0]

DataFrame怎么在Pandas庫中使用

按列進行索引查看數據還能直接使用列名,但這種方法對行索引不適用。

df3['name']

DataFrame怎么在Pandas庫中使用

3.5 查看行列數

使用shape查看行列數,參數為0表示查看行數,參數為1表示查看列數。

df3.shape[0]

DataFrame怎么在Pandas庫中使用

df3.shape[1]

DataFrame怎么在Pandas庫中使用

4 基本操作

DataFrame有些方法可以直接進行數據統計,矩陣計算之類的基本操作。

4.1 轉置

直接字母T,線性代數上線。

比如說把之前的df2轉置一下。

df3.T

DataFrame怎么在Pandas庫中使用

4.2 描述性統計

使用describe可以對數據根據列進行描述性統計。

比如說對df1進行描述性統計。

df1.describe()

DataFrame怎么在Pandas庫中使用

如果有的列是非數值型的,那么就不會進行統計。

如果想對行進行描述性統計,請參看4.1(轉置后進行describe呀!)

4.3 計算

使用sum默認對每列求和,sum(1)為對每行求和。比如

df3.sum()

DataFrame怎么在Pandas庫中使用

可以發現就算元素是字符串,使用sum也會加起來。

df3.sum(1)

DataFrame怎么在Pandas庫中使用

而一行中,有字符串有數值則只計算數值。

數乘運算使用apply,比如。

df2.apply(lambda x:x*2)

DataFrame怎么在Pandas庫中使用

如果元素是字符串,則會把字符串再重復一遍。

乘方運算跟matlab類似,直接使用兩個*,比如。

df2**2

DataFrame怎么在Pandas庫中使用

乘方運算如果有元素是字符串的話,就會報錯。

4.4 新增

擴充列可以直接像字典一樣,列名對應一個list,但是注意list的長度要跟index的長度一致。

df2['E']=['999','999','999','999']df2

DataFrame怎么在Pandas庫中使用

還可以使用insert,使用這個方法可以指定把列插入到第幾列,其他的列順延。

df2['E']=['999','999','999','999']
df2

DataFrame怎么在Pandas庫中使用

4.5 合并

使用join可以將兩個DataFrame合并,但只根據行列名合并,并且以作用的那個DataFrame的為基準。如下所示,新的df7是以df2的行號index為基準的。

df6=pd.DataFrame(['my','name','is','a'],index=list('ACDH'),columns=list('G'))
df6
df7=df2.join(df6)
df7

DataFrame怎么在Pandas庫中使用

但是,join這個方法還有how這個參數可以設置,合并兩個DataFrame的交集或并集。參數為'inner'表示交集,'outer'表示并集。

df6=pd.DataFrame(['my','name','is','a'],index=list('ACDH'),columns=list('G'))
df6
df7=df2.join(df6)
df7

DataFrame怎么在Pandas庫中使用

如果要合并多個Dataframe,可以用list把幾個Dataframe裝起來,然后使用concat轉化為一個新的Dataframe。

df6=pd.DataFrame(['my','name','is','a'],index=list('ACDH'),columns=list('G'))
df6
df7=df2.join(df6)
df7

DataFrame怎么在Pandas庫中使用

關于DataFrame怎么在Pandas庫中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大足县| 蓬莱市| 毕节市| 紫金县| 保定市| 论坛| 阜新| 吴忠市| 淅川县| 海宁市| 吐鲁番市| 富宁县| 梨树县| 高陵县| 宜川县| 阜南县| 油尖旺区| 昌乐县| 宣化县| 荣昌县| 安宁市| 化隆| 惠州市| 聂拉木县| 安平县| 诸城市| 上犹县| 安化县| 龙游县| 陈巴尔虎旗| 巧家县| 衡东县| 滁州市| 兴和县| 桑日县| 巫山县| 绥棱县| 刚察县| 新昌县| 芒康县| 娄烦县|