4 | pandas常用筆記

import pandas as pd

基本操作

  1. 創(chuàng)建DataFrame數(shù)據(jù)集,列名為A、B、C
df = pd.DataFrame({'A': [1, 2, 3],
                   'B': [4, 5, 6],
                   'C': [7, 8, 9]})
  1. 提取指定值
df.loc[0]                 # 提取索引為0的行,即第一行
df.A                      # 提取A列,  方法一
df['A']                   # 提取A列,方法二
df.A[0]                   # 提取A列第一行數(shù)據(jù),或用df['A'][0], df.loc[0]['A']
df[df.A<3]                # 條件取值,提取A列值小于3的行
df.loc[df.A<3, 'B']       # 提取出符合A列值小于3的B列值
df.loc[df.A<3, 'B'] = 1   # 為符合條件的B列賦值為1
# 多個(gè)條件取值 and
df.loc[(df.A<3) & (df.B>4), 'C']
# 多個(gè)條件取值 or
df.loc[(df.A<3) | (df.B>4), 'C']
# 使用lambda表達(dá)式提取出A列值小于3的行
df[df.A.apply(lambda x: x<3)]
  1. 改變列名
# 方法一,統(tǒng)一改變列名
df.columns = ['a', 'b', 'c']
# 方法二,改變某一個(gè)或多個(gè)列名
df.rename(columns={'A': 'a', 
                   'B': 'b'},
          inplace=True)          # inplace默認(rèn)值為False不會(huì)改變df本身
  1. 刪除指定行或列
df.drop(0)                     # 刪除第一行
df.drop([0, 1])                # 刪除第一行和第二行
df.drop(['A', 'B'], axis=1)    # 刪除A和B兩列,axis沒有賦值時(shí)默認(rèn)為0表示行
# 上述做法會(huì)獲得刪除后的數(shù)據(jù)集,但不會(huì)改變df本身
# 刪除第一行并賦值給df
df = df.drop(0)
  1. 刪除列后重設(shè)索引值從0排序
df.reset_index(drop=True, inplace=True)
  1. 復(fù)制數(shù)據(jù)集
ddf = df.copy()
  1. 快速查看數(shù)據(jù)集情況
ddf.head()       # 返回ddf前五行
ddf.head(3)      # 返回ddf前三行
ddf.info()       # 返回ddf每列的數(shù)據(jù)概覽
ddf.A.isnull()   # 返回A列缺失值
  1. 改變某列的數(shù)據(jù)類型
ddf.A.dtype                  # 查看A列的數(shù)據(jù)類型
ddf.A = ddf.A.astype(str)    # 將A列的數(shù)據(jù)改為字符串型
  1. 賦值
df.A.replace(1, 5, inplace=True)    # 將A列中的全部1替換為5
# 將A列的第一個(gè)值改為 'None'
df.loc[0, 'A'] = 'None'             # 0為索引值
# 將A列的1、2、3分別改為a、b、c
df.A = df.A.map({1:'a', 2:'b', 3:'c'})   
# 根據(jù)A列的a、b、c三個(gè)值,新增三列啞變量
pd.get_dummies(df.A)
  1. 將數(shù)據(jù)集儲(chǔ)存至本地csv
df.to_csv('df_name.csv')
# 避免寫入索引 index
df.to_csv('df_name.csv', index=False)          
# 避免寫入標(biāo)題 header
df.to_csv('df_name.csv', header=False)

簡單計(jì)算

df.A.value_counts()    # 返回A列中不同值的個(gè)數(shù)
df.B.mean()            # B列值計(jì)算平均數(shù)
df.B.std()             # B列值計(jì)算樣本標(biāo)準(zhǔn)差
df.B.values.std()      # B列值計(jì)算總體標(biāo)準(zhǔn)差

(更新中)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Series(一維數(shù)據(jù)) import numpy as npimport pandas as pdp = pri...
    A雪_辰A閱讀 806評(píng)論 0 1
  • 1.pandas優(yōu)勢(shì) 便捷的數(shù)據(jù)處理能力 讀取文件方便 封裝了Matplotlib、Numpy的畫圖和計(jì)算 2.p...
    卅清閱讀 460評(píng)論 0 0
  • pandas Pandas是線上服務(wù)類型,數(shù)據(jù)分析和數(shù)據(jù)處理(在機(jī)器學(xué)習(xí)中數(shù)據(jù)處理) 數(shù)據(jù)分析三劍客: numpy...
    Galaxy_saturn閱讀 905評(píng)論 0 1
  • 1. 安裝 如果做數(shù)據(jù)分析用途建議使用Anaconda,自帶pandas numy 以及很多庫,還有集成開發(fā)環(huán)境S...
    steveysy閱讀 23,774評(píng)論 0 37
  • # 將用pandas建立的表(DataFrame)保存成excel或csv格式: import pandas as...
    臟小明閱讀 1,017評(píng)論 0 1

友情鏈接更多精彩內(nèi)容