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

          66個(gè)最常用的pandas數(shù)據(jù)分析函數(shù)

          共 4564字,需瀏覽 10分鐘

           ·

          2021-03-15 20:29

          起pandas這個(gè)是python數(shù)據(jù)清洗的利器,它可以讓你像sql一樣操作數(shù)據(jù),同時(shí)可以對(duì)數(shù)據(jù)進(jìn)行各種計(jì)算,轉(zhuǎn)換完成后還可以方便的存儲(chǔ)到excel,轉(zhuǎn)化為array、Matrix供進(jìn)一步(模型)使用。

          但是網(wǎng)上關(guān)于pandas的知識(shí)點(diǎn)比較散,分門別類的來介紹pandas的常用函數(shù),能夠滿足你對(duì)于pandas學(xué)習(xí)的所有需要,本文介紹的函數(shù)在實(shí)際中非常實(shí)用。

          本文中,我們將使用如下縮寫:

          df #任何pandas DataFrame對(duì)象 s #任何pandas series對(duì)象

          首先需要先導(dǎo)入2個(gè)庫:

          import pandas as pdimport numpy as np

          從各種不同的來源和格式導(dǎo)入數(shù)據(jù)

          pd.read_csv(filename) # 從CSV文件 pd.read_table(filename) # 從分隔的文本文件(例如CSV)中 pd.read_excel(filename) # 從Excel文件 pd.read_sql(query, connection_object) # 從SQL表/數(shù)據(jù)庫中讀取 pd.read_json(json_string) # 從JSON格式的字符串,URL或文件中讀取。pd.read_html(url) # 解析html URL,字符串或文件,并將表提取到數(shù)據(jù)幀列表 pd.read_clipboard() # 獲取剪貼板的內(nèi)容并將其傳遞給 read_table() pd.DataFrame(dict) # 從字典中,列名稱的鍵,列表中的數(shù)據(jù)的值

          導(dǎo)出數(shù)據(jù)

          使用以下命令將DataFrame導(dǎo)出為CSV,.xlsx,SQL或JSON。

          df.to_csv(filename) # 寫入CSV文件 df.to_excel(filename) # 寫入Excel文件 df.to_sql(table_name, connection_object) # 寫入SQL表 df.to_json(filename) # 以JSON格式寫入文件

          創(chuàng)建測試對(duì)象

          pd.DataFrame(np.random.rand(20,5))               # 5列20行隨機(jī)浮點(diǎn)數(shù) pd.Series(my_list)                               # 從一個(gè)可迭代的序列創(chuàng)建一個(gè)序列 my_list df.index = pd.date_range('1900/1/30', periods=df.shape[0]) # 添加日期索引

          查看、檢查數(shù)據(jù)

          df.head(n)                       # DataFrame的前n行 df.tail(n)                       # DataFrame的最后n行 df.shape                         # 行數(shù)和列數(shù) df.info()                        # 索引,數(shù)據(jù)類型和內(nèi)存信息 df.describe()                    # 數(shù)值列的摘要統(tǒng)計(jì)信息 s.value_counts(dropna=False)     # 查看唯一值和計(jì)數(shù) df.apply(pd.Series.value_counts) # 所有列的唯一值和計(jì)數(shù)

          數(shù)據(jù)選取

          使用這些命令選擇數(shù)據(jù)的特定子集。df[col]               # 返回帶有標(biāo)簽col的列 df[[col1, col2]]      # 返回列作為新的DataFrame s.iloc[0]             # 按位置選擇 s.loc['index_one']    # 按索引選擇 df.iloc[0,:]          # 第一行 df.iloc[0,0]          # 第一欄的第一元素

          數(shù)據(jù)清理

          使用這些命令可以執(zhí)行各種數(shù)據(jù)清理任務(wù)。

          df.columns = ['a','b','c']                  # 重命名列 pd.isnull()                                 # 空值檢查,返回Boolean Arrray pd.notnull()                                # 與pd.isnull() 相反 df.dropna()                                 # 刪除所有包含空值的行 df.dropna(axis=1)                           # 刪除所有包含空值的列 df.dropna(axis=1,thresh=n)                  # 刪除所有具有少于n個(gè)非null值的行 df.fillna(x)                                # 將所有空值替換為x s.fillna(s.mean())                          # 用均值替換所有空值(均值可以用統(tǒng)計(jì)模塊中的幾乎所有函數(shù)替換 ) s.astype(float)                             # 將系列的數(shù)據(jù)類型轉(zhuǎn)換為float s.replace(1,'one')                          # 1 用 'one' s.replace([1,3],['one','three'])            # 替換所有等于的值 替換為所有1 'one' ,并 3 用 'three' df.rename(columns=lambda x: x + 1)          # 列的重命名 df.rename(columns={'old_name': 'new_ name'})# 選擇性重命名 df.set_index('column_one')                  # 更改索引 df.rename(index=lambda x: x + 1)            # 大規(guī)模重命名索引

          篩選,排序和分組依據(jù)

          使用這些命令可以對(duì)數(shù)據(jù)進(jìn)行過濾,排序和分組。

          df[df[col] > 0.5]                      # 列 col 大于 0.5 df[(df[col] > 0.5) & (df[col] < 0.7)]  # 小于 0.7 大于0.5的行 df.sort_values(col1)                   # 按col1升序?qū)χ颠M(jìn)行排序 df.sort_values(col2,ascending=False)   # 按col2 降序?qū)χ颠M(jìn)行 排序 df.sort_values([col1,col2],ascending=[True,False]) #按 col1 升序排序,然后 col2 按降序排序 df.groupby(col)                        #從一個(gè)欄返回GROUPBY對(duì)象 df.groupby([col1,col2]) # 返回來自多個(gè)列的groupby對(duì)象 df.groupby(col1)[col2]                 # 返回中的值的平均值 col2,按中的值分組 col1 (平均值可以用統(tǒng)計(jì)模塊中的幾乎所有函數(shù)替換 ) df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean) # 創(chuàng)建一個(gè)數(shù)據(jù)透視表組通過 col1 ,并計(jì)算平均值的 col2 和 col3 df.groupby(col1).agg(np.mean)          # 在所有列中找到每個(gè)唯一col1 組的平均值 df.apply(np.mean)                      #np.mean() 在每列上應(yīng)用該函數(shù) nf.apply(np.max,axis=1)                # np.max() 在每行上應(yīng)用功能

          數(shù)據(jù)合并

          使用這些命令可以將多個(gè)數(shù)據(jù)幀組合為一個(gè)數(shù)據(jù)幀。

          df1.append(df2)                   # 將df2添加 df1的末尾 (各列應(yīng)相同) pd.concat([df1, df2],axis=1)      # 將 df1的列添加到df2的末尾 (行應(yīng)相同) df1.join(df2,on=col1,how='inner') # SQL樣式將列 df1 與 df2 行所在的列col 具有相同值的列連接起來。'how'可以是一個(gè) 'left', 'right', 'outer', 'inner'

          數(shù)據(jù)統(tǒng)計(jì)

          使用這些命令來執(zhí)行各種統(tǒng)計(jì)測試。(這些也都可以應(yīng)用于系列。)

          df.describe()    # 數(shù)值列的摘要統(tǒng)計(jì)信息 df.mean()        # 返回均值的所有列 df.corr()        # 返回DataFrame中各列之間的相關(guān)性 df.count()       # 返回非空值的每個(gè)數(shù)據(jù)幀列中的數(shù)字 df.max()         # 返回每列中的最高值 df.min()         # 返回每一列中的最小值 df.median()      # 返回每列的中位數(shù) df.std()         # 返回每列的標(biāo)準(zhǔn)偏差
          本文翻譯自文章:https://www.dataquest.io/blog/pandas-cheat-sheet/,同時(shí)添加了部分注解。


          --------   往 期 推 薦  ----------

          瀏覽 67
          點(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>
                  国产无遮挡又黄又爽免费软件 | 超碰人人摸人人草 | 玩弄粉嫩护士小泬20p | 亚洲视频在线免费观 | 逼特逼 |