<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python基礎(chǔ)】Pandas筆記---概述與數(shù)據(jù)結(jié)構(gòu)

          共 2593字,需瀏覽 6分鐘

           ·

          2020-08-14 18:36

          點擊上方“潛心的Python小屋”關(guān)注我們,第一時間推送優(yōu)質(zhì)文章。

          前言

          大家好,我是潛心。因為最近做實驗發(fā)現(xiàn)Pandas的數(shù)據(jù)處理技術(shù)忘記了,所以準備系統(tǒng)的概述一下Pandas的使用方法。

          本文約1.5k字,預計閱讀5分鐘。

          Pandas概覽

          Pandas?是 Python的核心數(shù)據(jù)分析支持庫,提供了快速、靈活、明確的數(shù)據(jù)結(jié)構(gòu),旨在簡單、直觀地處理關(guān)系型、標記型數(shù)據(jù)。Pandas 的目標是成為 Python 數(shù)據(jù)分析實踐與實戰(zhàn)的必備高級工具,其長遠目標是成為最強大、最靈活、可以支持任何語言的開源數(shù)據(jù)分析工具。

          數(shù)據(jù)結(jié)構(gòu)

          Pandas 的主要數(shù)據(jù)結(jié)構(gòu)是 Series(一維數(shù)據(jù))與 DataFrame(二維數(shù)據(jù)),這兩種數(shù)據(jù)結(jié)構(gòu)足以處理金融、統(tǒng)計、社會科學、工程等領(lǐng)域里的大多數(shù)典型用例。

          為什么要有兩個數(shù)據(jù)結(jié)構(gòu)??因為Pandas 數(shù)據(jù)結(jié)構(gòu)就像是低維數(shù)據(jù)的容器。比如,DataFrame 是 Series 的容器,Series 則是標量的容器。使用這種方式,可以在容器中以字典的形式插入或刪除對象。

          Pandas 里,的概念主要是為了給數(shù)據(jù)賦予更直觀的語義,即用“更恰當”的方式表示數(shù)據(jù)集的方向。

          Series

          Series是帶標簽的一維數(shù)組,可存儲整數(shù)、浮點數(shù)、字符串、Python 對象等類型的數(shù)據(jù),軸標簽統(tǒng)稱為索引。

          創(chuàng)建Series對象:

          s?=?pd.Series(data=None,?index=None)

          其中,data可以為:數(shù)組、字典、標量等,index可選,長度必須與data一致,默認為數(shù)值型索引。

          導入包:

          import?pandas?as?pd
          import?numpy?as?np

          例:

          In[5]:?pd.Series([1,?2,?3,?4,?5])
          Out[5]:?
          0????1
          1????2
          2????3
          3????4
          4????5
          dtype:?int64
          ??
          In[6]:?d?=?{'a':1,?'b':2,?'c':3}
          In[7]:?pd.Series(d)
          Out[7]:?
          a????1
          b????2
          c????3
          dtype:?int64

          Dataframe

          DataFrame?是由多種類型的列構(gòu)成的二維標簽數(shù)據(jù)結(jié)構(gòu), 是最常用的 Pandas 對象。

          創(chuàng)建DataFrame對象:

          df?=?pd.DataFrame(data=None,?index=None,?columns=None,?dtype=None)

          其中,data可以為:一維二維的ndarray、列表、字典等,index為行標簽(索引),columns為列標簽(特征),dtype為對象類型。

          例:

          In[8]:?d?=?{'one':?pd.Series([1.,?2.,?3.],?index=['a',?'b',?'c']),?'two':?pd.Series([1.,?2.,?3.,?4.],?index=['a',?'b',?'c',?'d'])}
          In[9]:?pd.DataFrame(d)
          Out[9]:?
          ???one??two
          a??1.0??1.0
          b??2.0??2.0
          c??3.0??3.0
          d??NaN??4.0

          In[10]:?l?=?[[1,?2,?3],?[4,?5,?6]]
          In[11]:?pd.DataFrame(l,?columns=['a',?'b',?'c'])
          Out[11]:?
          ???a??b??c
          0??1??2??3
          1??4??5??6

          大小可變與數(shù)據(jù)復制

          Pandas 所有數(shù)據(jù)結(jié)構(gòu)的值都是可變的,但數(shù)據(jù)結(jié)構(gòu)的大小并非都是可變的,比如,Series 的長度不可改變,但 DataFrame 里就可以插入列。

          Pandas 里,絕大多數(shù)方法都不改變原始的輸入數(shù)據(jù),而是復制數(shù)據(jù),生成新的對象。一般來說,原始輸入數(shù)據(jù)不變更穩(wěn)妥。所以大多數(shù)方法都是返回一個對象,若不進行復制,那原對象不會進行改變。

          In[12]:?df1?=?pd.DataFrame(d)
          In[13]:?df2?=?df1.transpose()
          In[14]:?df1
          Out[14]:?
          ???one??two
          a??1.0??1.0
          b??2.0??2.0
          c??3.0??3.0
          d??NaN??4.0
          In[15]:?df2
          Out[15]:?
          ???????a????b????c????d
          one??1.0??2.0??3.0??NaN
          two??1.0??2.0??3.0??4.0

          Pandas優(yōu)勢

          Pandas的優(yōu)勢部分包括如下:

          • 處理浮點與非浮點數(shù)據(jù)里的缺失數(shù)據(jù),表示為?NaN
          • 大小可變:插入或刪除?DataFrame 等多維對象的列;
          • 自動、顯式數(shù)據(jù)對齊:顯式地將對象與一組標簽對齊,也可以忽略標簽,在 Series、DataFrame 計算時自動與數(shù)據(jù)對齊;
          • 強大、靈活的分組(group by)功能:拆分-應用-組合數(shù)據(jù)集,聚合、轉(zhuǎn)換數(shù)據(jù);
          • 把 Python 和 NumPy 數(shù)據(jù)結(jié)構(gòu)里不規(guī)則、不同索引的數(shù)據(jù)輕松地轉(zhuǎn)換為 DataFrame 對象;
          • 基于智能標簽,對大型數(shù)據(jù)集進行切片、花式索引、子集分解等操作;

          總結(jié)

          Pandas 速度很快,適用于各個數(shù)據(jù)分析領(lǐng)域,它的數(shù)據(jù)結(jié)構(gòu)有SeriesDataFrame兩種結(jié)構(gòu),實際中主要是對DataFrame對象進行處理分析。接下來會根據(jù)各個實例數(shù)據(jù)集,如:鳶尾花、紅酒、乳腺癌數(shù)據(jù)集進行實際操作,鞏固Pandas數(shù)據(jù)分析技術(shù)。

          參考文獻

          [1]. Pandas中文文檔: https://www.pypandas.cn/docs/getting_started/overview.html



          往期精彩回顧





          獲取一折本站知識星球優(yōu)惠券,復制鏈接直接打開:

          https://t.zsxq.com/662nyZF

          本站qq群1003271085。

          加入微信群請掃碼進群(如果是博士或者準備讀博士請說明):

          瀏覽 64
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费看一区 | 视频一区二区77在线 | 亚洲黄片黄片 | aaa国产精品 | 久久久激情视频 |