天天看點

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

本次的Python學習教程涉及pandas最常用的36個函數,通過這些函數介紹如何完成資料生成和導入、資料清洗、預處理,以及最常見的資料分類,資料篩選,分類彙總,透視等最常見的操作。

生成資料表

常見的生成資料表的方法有兩種,第一種是導入外部資料,第二種是直接寫入資料。Excel中的“檔案”菜單中提供了擷取外部資料的功能,支援資料庫和文本檔案和頁面的多種資料源導入。

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python支援從多種類型的資料導入。在開始使用Python進行資料

導入前需要先導入pandas庫,為了友善起見,我們也同時導入numpy

庫.

import numpy as np

import pandas as pd

導入外部資料

df=pd.DataFrame(pd.read_csv('name.csv',header=1))

df=pd.DataFrame(pd.read_Excel('name.xlsx'))c

裡面有很多可選參數設定,例如列名稱、索引列、資料格式等

直接寫入資料

df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006],

"date":pd.date_range('20130102', periods=6),

"city":['Beijing ', 'SH', ' guangzhou ', 'Shen

zhen', 'shanghai', 'BEIJING '],

"age":[23,44,54,32,34,32],

"category":['100-A','100-B','110-A','110-C','2

10-A','130-F'],

"price":[1200,np.nan,2133,5433,np.nan,4432]},

columns =['id','date','city','category','age',

'price'])

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

資料表檢查

資料表檢查的目的是了解資料表的整體情況,獲得資料表的關鍵資訊、資料的概況,例如整個資料表的大小、所占空間、資料格式、是否有

空值和重複項和具體的資料内容,為後面的清洗和預處理做好準備。

1.資料次元(行列)

Excel中可以通過CTRL+向下的光标鍵,和CTRL+向右的光标鍵

來檢視行号和列号。Python中使用shape函數來檢視資料表的次元,也就是行數和列數。

df.shape

2.資料表資訊

使用info函數檢視資料表的整體資訊,包括資料次元、列名稱、資料格式和所占空間等資訊。

資料表資訊

df.info()

RangeIndex: 6 entries, 0 to 5

Data columns (total 6 columns):

id 6 non-null int64

date 6 non-null datetime64[ns]

city 6 non-null object

category 6 non-null object

age 6 non-null int64

price 4 non-null float64

dtypes: datetime64

ns

, float64(1), int64(2), object(2)

memory usage: 368.0+ bytes

3.檢視資料格式

Excel中通過選中單元格并檢視開始菜單中的數值類型來判斷數

據的格式。Python中使用dtypes函數來傳回資料格式。

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Dtypes是一個檢視資料格式的函數,可以一次性檢視資料表中所

有資料的格式,也可以指定一列來單獨檢視

檢視資料表各列格式

df.dtypes

id int64

date datetime64[ns]

city object

category object

age int64

price float64

dtype: object

檢視單列格式

df['B'].dtype

dtype('int64')

4.檢視空值

Excel中檢視空值的方法是使用“定位條件”在“開始”目錄下的“查找和選擇”目錄.

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Isnull是Python中檢驗空值的函數

檢查資料空值

df.isnull()

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

檢查特定列空值

df['price'].isnull()

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

5.檢視唯一值

Excel中檢視唯一值的方法是使用“條件格式”對唯一值進行顔色

标記。

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python中使用unique函數檢視唯一值。

檢視city列中的唯一值

df['city'].unique()

array(['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', '

BEIJING '], dtype=object)

6.檢視資料表數值

Python中的Values函數用來檢視資料表中的數值

檢視資料表的值

df.values

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

7.檢視列名稱

Colums函數用來單獨檢視資料表中的列名稱。

檢視列名稱

df.columns

Index(['id', 'date', 'city', 'category', 'age', 'price'], dtype='

object')

8.檢視前10行資料

Head函數用來檢視資料表中的前N行資料

檢視前3行資料

df.head(3)

9.檢視後10行資料

Tail行數與head函數相反,用來檢視資料表中後N行的資料

檢視最後3行

df.tail(3)

資料表清洗

本次的Python學習教程介紹對資料表中的問題進行清洗,包括對空值、大小寫問題、資料格式和重複值的處理。

1.處理空值(删除或填充)

Excel中可以通過“查找和替換”功能對空值進行處理

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python中處理空值的方法比較靈活,可以使用 Dropna函數用來删除資料表中包含空值的資料,也可以使用fillna函數對空值進行填充。

删除資料表中含有空值的行

df.dropna(how='any')

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

也可以使用數字對空值進行填充

使用數字0填充資料表中空值

df.fillna(value=0)

使用price列的均值來填充NA字段,同樣使用fillna函數,在要填充的數值中使用mean函數先計算price列目前的均值,然後使用這個均值對NA進行填充。

使用price均值對NA進行填充

df['price'].fillna(df['price'].mean())

Out[8]:

0 1200.0

1 3299.5

2 2133.0

3 5433.0

4 3299.5

5 4432.0

Name: price, dtype: float64

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

2.清理空格

字元中的空格也是資料清洗中一個常見的問題

清除city字段中的字元空格

df['city']=df['city'].map(str.strip)

3.大小寫轉換

在英文字段中,字母的大小寫不統一也是一個常見的問題。

Excel中有UPPER,LOWER等函數,Python中也有同名函數用來解決

大小寫的問題。

city列大小寫轉換

df['city']=df['city'].str.lower()

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

4.更改資料格式

Excel中通過“設定單元格格式”功能可以修改資料格式。

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python中通過astype函數用來修改資料格式。

更改資料格式

df['price'].astype('int')

0 1200

1 3299

2 2133

3 5433

4 3299

5 4432

Name: price, dtype: int32

5.更改列名稱

Rename是更改列名稱的函數,我們将來資料表中的category列更改為category-size。

更改列名稱

df.rename(columns={'category': 'category-size'})

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

6.删除重複值

Excel的資料目錄下有“删除重複項”的功能

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python中使用drop_duplicates函數删除重複值

df['city']

0 beijing

1 sh

2 guangzhou

3 shenzhen

4 shanghai

5 beijing

Name: city, dtype: object

city列中beijing存在重複,分别在第一位和最後一位

drop_duplicates()函數删除重複值

删除後出現的重複值

df['city'].drop_duplicates()

設定keep='last‘’參數後,與之前删除重複值的結果相反,第一位

出現的beijing被删除

删除先出現的重複值

df['city'].drop_duplicates(keep='last')

Name: city, dtype: objec

7.數值修改及替換

Excel中使用“查找和替換”功能就可以實作數值的替換

Python學習教程:從Excel到Python最常用的32個Pandas函數(一)資料表資訊檢視資料表各列格式檢視單列格式檢查資料空值檢查特定列空值檢視city列中的唯一值檢視資料表的值檢視列名稱檢視前3行資料檢視最後3行删除資料表中含有空值的行使用數字0填充資料表中空值使用price均值對NA進行填充清除city字段中的字元空格city列大小寫轉換更改資料格式更改列名稱删除後出現的重複值删除先出現的重複值

Python中使用replace函數實作資料替換

附#資料替換

df['city'].replace('sh', 'shanghai')

1 shanghai

Name: city, d

篇幅有限,剩下的函數總結會在下一章Python學習教程中繼續為大家更新!不會等太久!