1. 程式人生 > >pandas 學習(四)—— 資料處理(清洗)、缺失值的處理

pandas 學習(四)—— 資料處理(清洗)、缺失值的處理

建立 DataFrame:

df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list('ABCD'))

0. 為 data frame 新增新的屬性列

>> df['total'] = df['A'] + df['B'] + df['C'] + df['D']
    # 等價於 df['total'] = df.A + df.B + df.C + df.D

1. 資料型別

  • df.values ⇒ 返回的是 numpy 下的多維陣列
    • df.column_name.values ⇒ 返回的也是 numpy 下的陣列型別
  • df.dtypes:返回的是各個屬性列的型別
    • df.select_dtypes([np.object])
    • df.select_dypes([bool])

2. 簡單資料統計

  • 統計某一屬性可能的取值:df.column_name.unique()
  • 統計出現的次數:df.column_name.value_counts()
    • column_name 對應的是該 DataFrame 中某列的列名;
    • 也即 pandas 下的 DataFrame 物件直接支援 點+列名的方式進行索引;

3. 缺失值的處理

  • 所有缺失值欄位填充為 0:df.fillna(0),一定要十分注意的一點是,df.fillna() 操作預設(inplace=False)不是 inplace,也即不是對原始 data frame 直接操作修改的,而是建立一個副本,對副本進行修改;

    • df.fillna(0, inplace=True)
    • df = df.fillna(0)
  • 捨棄:
    • 捨棄那些全行為 NaN 的行,以及全列為 NaN 的行:
      • df.dropna(axis=[0, 1], how=’all’)
    • 刪除某些行和列:
      • df.drop([], axis=1, inplace=True) ⇒ axis = 1,刪除列;
      • df.drop([], axis=0, inplace=True) ⇒ axis = 0,刪除行;
  • 均值填充

    age_mean = data.Age.mean()      # age_mean = data['Age'].mean()
    data.Age[data
    ['Age'].isnull()] = age_mean # data['Age'] == data.Age 二者是等效的

相關推薦

機器學習筆記7——C4.5決策樹中的缺失處理

缺失值處理是C4.5決策樹演算法中的又一個重要部分,前面已經討論過連續值和剪枝的處理方法: 現實任務中,通常會遇到大量不完整的樣本,如果直接放棄不完整樣本,對資料是極大的浪費,例如下面這個有缺失值的西瓜樣本集,只有4個完整樣本。 在構造決策樹時,處理含有缺失值

pandas 學習—— 資料處理清洗缺失處理

建立 DataFrame: df = pd.DataFrame(np.random.randint(0, 10, (2, 4)), columns=list('ABCD')) 0. 為 da

機器學習:用sklearn進行資料處理缺失處理資料標準化歸一化

在我們平時進行資料資料探勘建模時,一般首先得對資料進行預處理,其中就包括資料缺失值、異常值處理、資料的標準化、歸一化等等。 下面主要介紹如何對一個數據檔案進行資料的缺失值處理、標準化和歸一化 MID_SP MID_AC MID_R25 MID_COND LITHO1 55.

Python數據分析pandas缺失處理

taf spa 3.0 .data float 數據分析 pandas panda pri import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index

去除List集合中的重複種好用的方法基本資料型別可用

最近專案中需要對list集合中的重複值進行處理,大部分是採用兩種方法,一種是用遍歷list集合判斷後賦給另一個list集合,一種是用賦給set集合再返回給list集合。  但是賦給set集合後,由於set集合是無序的,原先的順序就打亂了。所以我又想著能不能用set的特性進行去重又不打亂順序

python資料分析新手入門課程學習——資料獲取來源:慕課網

一、資料獲取手段 1.資料倉庫(DW):將所有業務資料經彙總處理構成             1)特點:              全部事實的記錄;部分維

weka學習缺失處理

/** * @author hao.wei */ @Service public class MissingHandleBizImpl implements MissingHandleBiz { private static final Logger logger = Lo

Esper學習筆記:EPL語法2

1.select 查詢所有屬性或特定屬性 EPL的select和SQL的select很相近,SQL用*表示查詢表的所有欄位,而EPL用*表示查詢事件流的所有屬性值。SQL查詢某個欄位名,直接在select後跟欄位名就ok,EPL也是將要查詢的屬性名放在select之後。若查多個屬

Python 語言學習 第一篇:資料型別數字,集合,布林型別,操作符

Python語言最常用的物件是變數和常量,常量的值是字面意思,其值是不可變的,變數的值是可變的,例如,123,"上海"是常量,而a=1,a=2,其中a是變數名。內建的核心資料型別有:數字、字串、列表、字典、元組、檔案、集合、None和布林型別。Python是強型別的語言,變數的資料型別是由初始化的常量來指定的

18-12-8-視覺化庫Seaborn學習筆記:REG-迴歸分析繪圖

目錄   獲取是否付小費資料 regplot()和lmplot()都可以繪製迴歸關係,推薦regplot() sns.lmplot(x="x", y="y", data=XXX, order=2); #曲線 利用hue引數畫出男女給予小費的不同 sns.l

資料結構篇:二叉樹:交換左右子樹

應用遞迴思想 如果結點不為空,就交換其左右子樹,而待交換的左右子樹,我們不需要關心是否為空。 void Tree::ExChangeTree(BiTree *T) { BiTree *temp = new BiTree; if (T) { tem

學習MongoDB : MongoDB查詢

    一、簡介     MongoDB提供了db.collection.find() 方法可以實現根據條件查詢和指定使用投影運算子返回的欄位省略此引數返回匹配文件中的所有欄位。 二.db.coll

設計模式學習(十)————抽象工廠模式使用Qt框架的反射技術——根據字串動態建立類來實現

抽象工廠模式:提供一個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類! 這個例子也可以用簡單工廠模式+反射+讀取配置檔案來完成,這樣更加簡潔!!! 普通的抽象工廠模式 下面通過一個模擬訪問資料庫的例子來進行說明: #ifndef US

react學習之路2.2-----資料傳遞props(子傳父級),context

react學習之路,資料傳遞(props,context); 再講props子父級之前,先學習一下context這個非常NB的資料接收容器,如何正確的使用,接下來為大家介紹, 用它之前,我們必須要知道有個叫prop-types的東西,從英文我們就知道意思就是叫我們定義資料型

【Sql Server學習】Sql Server資料查詢

(1)查詢資訊系(IS)的所有學生的姓名,所選課程號及成績。 select Sname,Cno,Grade from Student,SC where Sdept IN (select

Pandas缺失處理 | 輕鬆玩轉Pandas3

轉自:http://www.naodongopen.com/997.html# 匯入相關庫 import numpy as np import pandas as pd什麼是缺失值    在瞭解缺失值(也叫控制)如何處理之前,首先要知道的就是什麼是缺失值?直觀上理解,缺失值表

vue的原始碼學習之五——7.資料驅動update

1. 介紹         版本:2.5.17。         我們使用vue-vli建立基於Runtime+Compiler的vue腳手架。  &nb

vue的原始碼學習之五——6.資料驅動createElement

1. 介紹       版本:2.5.17。         我們使用vue-vli建立基於Runtime+Compiler的vue腳手架。   &nbs

vue的原始碼學習之五——5.資料驅動Virtual DOM

1. 介紹       版本:2.5.17。        我們使用vue-vli建立基於Runtime+Compiler的vue腳手架。    &nbs

vue的原始碼學習之五——4.資料驅動render

介紹         版本:2.5.17。        我們使用vue-vli建立基於Runtime+Compiler的v