<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>

          你們要的pandas來了!

          共 3432字,需瀏覽 7分鐘

           ·

          2022-04-30 19:37

          "第三更來了"

          04



          《數(shù)據(jù)加載》

          處理普通文本

          讀取文本:read_csv() ? read_table()

          方法參數(shù)參數(shù)解釋
          filepath_or_buffer文件路徑
          sep列之間的分隔符。read_csv()默認(rèn)為為',', read_table()默認(rèn)為'\t'
          header默認(rèn)將首行設(shè)為列名。header=None時(shí)應(yīng)手動(dòng)給出列名。
          namesheader=None時(shí)設(shè)置此字段使用列表初始化列名。
          index_col將某一列作為行級(jí)索引。若使用列表,則設(shè)置復(fù)合索引。
          usecols選擇讀取文件中的某些列。設(shè)置為為相應(yīng)列的索引列表。
          skiprows

          跳過行。可選擇跳過前n行或給出跳過的行索引列表

          encoding編碼。

          寫入文本:dataFrame.to_csv(

          方法參數(shù)
          參數(shù)解釋
          filepath_or_buffer文件路徑
          sep列之間的分隔符。默認(rèn)為','
          na_rep寫入文件時(shí)dataFrame中缺失值的內(nèi)容。默認(rèn)空字符串。
          columns定義需要寫入文件的列。
          header是否需要寫入表頭。默認(rèn)為True。
          index會(huì)否需要寫入行索引。默認(rèn)為True。
          encoding編碼。


          案例:讀取電信數(shù)據(jù)集。

          pd.read_csv('../data/CustomerSurvival.csv',?header=None,?index_col=0)

          處理JSON


          讀取json:read_json()

          方法參數(shù)參數(shù)解釋
          filepath_or_buffer文件路徑
          encoding編碼

          案例:讀取電影評(píng)分?jǐn)?shù)據(jù):

          pd.read_json('../data/ratings.json')

          寫入json:to_json()

          方法參數(shù)
          參數(shù)解釋
          filepath_or_buffer
          文件路徑;若設(shè)置為None,則返回json字符串
          orient
          設(shè)置面向輸出格式:['records', 'index', 'columns', 'values']

          案例:

          data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]}df = pd.DataFrame(data, index=['s1','s2','s3','s4'])df.to_json(orient='records')

          其他文件讀取方法參見:https://www.pypandas.cn/docs/user_guide/io.html





          05

          《數(shù)值型描述統(tǒng)計(jì)》

          算數(shù)平均值


          $S = [s_1, s_2, ..., s_n] $

          樣本中的每個(gè)值都是真值與誤差的和。

          $mean = \frac{(s_1 + s_2 + ... + s_n) }{n}$

          算數(shù)平均值表示對(duì)真值的無偏估計(jì)。

          m = np.mean(array)m = array.mean()m = df.mean(axis=0)

          案例:針對(duì)電影評(píng)分?jǐn)?shù)據(jù)做均值分析:

          mean = ratings['John Carson'].mean()mean = np.mean(ratings['John Carson'])means = ratings.mean(axis=1)

          加權(quán)平均值



          求平均值時(shí),考慮不同樣本的重要性,可以為不同的樣本賦予不同的權(quán)重。

          樣本:$S = [s_1, s_2, s_3 ... s_n]$

          權(quán)重:$W =[w_1, w_2, w_3 ... w_n]$

          加權(quán)平均值:

          代碼實(shí)現(xiàn):

          a = np.average(array, weights=volumes)

          案例:自定義權(quán)重,求加權(quán)平均。

          # 加權(quán)均值w = np.array([3,1,1,1,1,1,1])np.average(ratings.loc['Inception'], weights=w)
          mask = ~pd.isna(ratings.loc['Inception'])np.average(ratings.loc['Inception'][mask], weights=w[mask])

          最值


          np.max() / np.min() / np.ptp(): 返回一個(gè)數(shù)組中最大值/最小值/極差(最大值減最小值)

          import numpy as np# 產(chǎn)生9個(gè)介于[10, 100)區(qū)間的隨機(jī)數(shù)a = np.random.randint(10, 100, 9)print(a)print(np.max(a), np.min(a), np.ptp(a))

          np.argmax() np.argmin(): 返回一個(gè)數(shù)組中最大/最小元素的下標(biāo)

          print(np.argmax(a), np.argmin(a))print(series.idxmax(), series.idxmin())print(dataframe.idxmax(),?dataframe.idxmin())

          np.maximum() np.minimum(): 將兩個(gè)同維數(shù)組中對(duì)應(yīng)元素中最大/最小元素構(gòu)成一個(gè)新的數(shù)組

          print(np.maximum(a, b), np.minimum(a, b), sep='\n')

          中位數(shù)


          將多個(gè)樣本按照大小排序,取中間位置的元素。

          若樣本數(shù)量為奇數(shù),中位數(shù)為最中間的元素

          $[1, 2000, 3000, 4000, 10000000]$

          若樣本數(shù)量為偶數(shù),中位數(shù)為最中間的兩個(gè)元素的平均值

          $[1,2000,3000,4000,5000,10000000]$

          案例:分析中位數(shù)的算法,測試numpy提供的中位數(shù)API:

          import numpy as npclosing_prices = np.loadtxt('../../data/aapl.csv',delimiter=',', usecols=(6), unpack=True)size = closing_prices.sizesorted_prices = np.msort(closing_prices)median = (sorted_prices[int((size - 1) / 2)] +         sorted_prices[int(size / 2)]) / 2print(median)median = np.median(closing_prices)print(median)

          頻數(shù)與眾數(shù)


          頻數(shù)指一組數(shù)據(jù)中各離散值出現(xiàn)的次數(shù),而眾數(shù)則是指一組數(shù)據(jù)中出現(xiàn)次數(shù)最多的值。

          cars = np.array(['bmw', 'bmw', 'bz', 'audi', 'bz', 'bmw'])cars = pd.Series(cars)cars.value_counts()cars.mode()

          四分位數(shù)


          所謂四分位數(shù),即把數(shù)值由小到大排列并分成四等份,處于三個(gè)分割點(diǎn)位置的數(shù)值就是四分位數(shù)。

          • 第1四分位數(shù) (Q1),又稱“較小四分位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字。

          • 第2四分位數(shù) (Q2),又稱“中位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字。

          • 第3四分位數(shù) (Q3),又稱“較大四分位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字。

          第3四分位數(shù)與第1四分位數(shù)的差距又稱四分位距(InterQuartile Range,IQR)

          ary?=?np.array([1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5])s = pd.Series(ary)s.quantile([.0, .25, .5, .75, 1.])

          標(biāo)準(zhǔn)差


          樣本(sample):

          平均值:

          離差(deviation):表示某組數(shù)據(jù)距離某個(gè)中心點(diǎn)的偏離程度

          離差方:

          總體方差(variance):

          總體標(biāo)準(zhǔn)差(standard deviation):

          樣本方差:

          其中,n-1稱之為“貝塞爾校正”,這是因?yàn)槌槿颖緯r(shí)候,采集的樣本主要是落在中心值附近,那么通過這些樣本計(jì)算的方差會(huì)小于等于對(duì)總體數(shù)據(jù)集方差的無偏估計(jì)值。為了能彌補(bǔ)這方面的缺陷,那么我們把公式的n改為n-1,以此來提高方差的數(shù)值。稱為貝塞爾校正系數(shù)。

          樣本標(biāo)準(zhǔn)差:

          案例:根據(jù)標(biāo)準(zhǔn)差理論,針對(duì)評(píng)分?jǐn)?shù)據(jù)進(jìn)行方差分析:

          ratings.std(axis=0)


          宏觀數(shù)值統(tǒng)計(jì)


          ratings.describe()




          “您的關(guān)注就是我寫下去的動(dòng)力”



          瀏覽 34
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  九九这里只有精品 | 玖玖精品在线播放 | 日韩三级 | 成人精品视频网站 | 婷婷综合网站 |