最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pandas庫之DataFrame使用的學(xué)習(xí)筆記

 更新時間:2019年06月21日 11:55:21   作者:敗北桑  
這篇文章主要介紹了Pandas庫之DataFrame使用的學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 簡介

DataFrame是Python中Pandas庫中的一種數(shù)據(jù)結(jié)構(gòu),它類似excel,是一種二維表。

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

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

2 創(chuàng)建DataFrame

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

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

import pandas as pd
import numpy as np

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

pip install pandas
pip install numpy

2.1 直接創(chuàng)建

可以直接使用pandas的DataFrame函數(shù)創(chuàng)建,比如接下來我們隨機創(chuàng)建一個4*4的DataFrame。

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

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

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

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

使用python自己的shell展示創(chuàng)建的結(jié)果是這樣的:

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

當(dāng)然,如果你的數(shù)據(jù)量賊小,也可以自己輸入創(chuàng)建,類似這樣。

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:

2.2 使用字典創(chuàng)建

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

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

輸出結(jié)果是這樣的

3 查看與篩選數(shù)據(jù)

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

3.1 查看列的數(shù)據(jù)類型

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

df3.dtypes

輸出的結(jié)果是這樣:

3.2 查看DataFrame的頭尾

使用head可以查看前幾行的數(shù)據(jù),默認(rèn)的是前5行,不過也可以自己設(shè)置。

使用tail可以查看后幾行的數(shù)據(jù),默認(rèn)也是5行,參數(shù)可以自己設(shè)置。

比如隨意設(shè)置一個6*6的數(shù)據(jù),只看前5行。

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

比如只看前3行。

df4.head(3)

比如看后5行。

df4.tail()

比如只看后2行。

df4.tail(2)

3.3 查看行名與列名

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

查看行名。

df1.index

查看列名。

df3.columns

3.4 查看數(shù)據(jù)值

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

比如說查看所有的數(shù)據(jù)值。

df3.values

比如說查看某一列所有的數(shù)據(jù)值。

df3['name'].values

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

比如說這樣。

df1.loc['A']

或者這樣。

df1.iloc[0]

按列進(jìn)行索引查看數(shù)據(jù)還能直接使用列名,但這種方法對行索引不適用。

df3['name']

3.5 查看行列數(shù)

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

df3.shape[0]

df3.shape[1]

4 基本操作

DataFrame有些方法可以直接進(jìn)行數(shù)據(jù)統(tǒng)計,矩陣計算之類的基本操作。

4.1 轉(zhuǎn)置

直接字母T,線性代數(shù)上線。

比如說把之前的df2轉(zhuǎn)置一下。

df3.T

4.2 描述性統(tǒng)計

使用describe可以對數(shù)據(jù)根據(jù)列進(jìn)行描述性統(tǒng)計。

比如說對df1進(jìn)行描述性統(tǒng)計。

df1.describe()

如果有的列是非數(shù)值型的,那么就不會進(jìn)行統(tǒng)計。

如果想對行進(jìn)行描述性統(tǒng)計,請參看4.1(轉(zhuǎn)置后進(jìn)行describe呀?。?/p>

4.3 計算

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

df3.sum()

可以發(fā)現(xiàn)就算元素是字符串,使用sum也會加起來。

df3.sum(1)

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

數(shù)乘運算使用apply,比如。

df2.apply(lambda x:x*2)

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

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

df2**2

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

4.4 新增

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

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

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

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

4.5 合并

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

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

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

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Series和DataFrame中的sort_index方法

    淺談Series和DataFrame中的sort_index方法

    今天小編就為大家分享一篇淺談Series和DataFrame中的sort_index方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • TensorFlow加載模型時出錯的解決方式

    TensorFlow加載模型時出錯的解決方式

    今天小編就為大家分享一篇TensorFlow加載模型時出錯的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python/sympy求解矩陣方程的方法

    python/sympy求解矩陣方程的方法

    今天小編就為大家分享一篇python/sympy求解矩陣方程的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Pycharm及python安裝詳細(xì)步驟及PyCharm配置整理(推薦)

    Pycharm及python安裝詳細(xì)步驟及PyCharm配置整理(推薦)

    這篇文章主要介紹了Pycharm及python安裝詳細(xì)步驟以及PyCharm配置整理,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python一文入門Flask?Blueprint?SQLAlchemy部分詳解

    Python一文入門Flask?Blueprint?SQLAlchemy部分詳解

    這篇文章主要為大家介紹了Python一文入門Flask?Blueprint?SQLAlchemy部分詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python中獲取網(wǎng)頁狀態(tài)碼的兩個方法

    Python中獲取網(wǎng)頁狀態(tài)碼的兩個方法

    這篇文章主要介紹了Python中獲取網(wǎng)頁狀態(tài)碼的兩個方法,分別使用urllib模塊和requests模塊實現(xiàn),需要的朋友可以參考下
    2014-11-11
  • 基于文件路徑中/?\?//?\\的用法以及絕對相對路徑的問題

    基于文件路徑中/?\?//?\\的用法以及絕對相對路徑的問題

    這篇文章主要介紹了基于文件路徑中/?\?//?\\的用法以及絕對相對路徑的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python 中閉包與裝飾器案例詳解

    Python 中閉包與裝飾器案例詳解

    這篇文章主要介紹了Python 中閉包與裝飾器案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • python BytesIO 中 read 用法示例詳解

    python BytesIO 中 read 用法示例詳解

    這篇文章主要介紹了python BytesIO 中 read 用法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • python字典dict中常用內(nèi)置函數(shù)的使用

    python字典dict中常用內(nèi)置函數(shù)的使用

    本文主要介紹了python字典dict中常用內(nèi)置函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論

温宿县| 无棣县| 新闻| 玛多县| 赣州市| 临夏市| 安新县| 库伦旗| 尤溪县| 沅陵县| 秭归县| 治县。| 谷城县| 原阳县| 柳林县| 磴口县| 涞水县| 麦盖提县| 济南市| 南丰县| 长汀县| 新巴尔虎右旗| 育儿| 潢川县| 广灵县| 郑州市| 读书| 临桂县| 华池县| 辽宁省| 威远县| 万安县| 娱乐| 峡江县| 苍溪县| 化隆| 新郑市| 库尔勒市| 安福县| 武穴市| 隆子县|