本次的Python學習教程涉及pandas最常用的36個函數,通過這些函數介紹如何完成資料生成和導入、資料清洗、預處理,以及最常見的資料分類,資料篩選,分類彙總,透視等最常見的操作。
生成資料表
常見的生成資料表的方法有兩種,第一種是導入外部資料,第二種是直接寫入資料。Excel中的“檔案”菜單中提供了擷取外部資料的功能,支援資料庫和文本檔案和頁面的多種資料源導入。

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'])
資料表檢查
資料表檢查的目的是了解資料表的整體情況,獲得資料表的關鍵資訊、資料的概況,例如整個資料表的大小、所占空間、資料格式、是否有
空值和重複項和具體的資料内容,為後面的清洗和預處理做好準備。
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函數來傳回資料格式。
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中檢視空值的方法是使用“定位條件”在“開始”目錄下的“查找和選擇”目錄.
Isnull是Python中檢驗空值的函數
檢查資料空值
df.isnull()
檢查特定列空值
df['price'].isnull()
5.檢視唯一值
Excel中檢視唯一值的方法是使用“條件格式”對唯一值進行顔色
标記。
Python中使用unique函數檢視唯一值。
檢視city列中的唯一值
df['city'].unique()
array(['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', '
BEIJING '], dtype=object)
6.檢視資料表數值
Python中的Values函數用來檢視資料表中的數值
檢視資料表的值
df.values
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中處理空值的方法比較靈活,可以使用 Dropna函數用來删除資料表中包含空值的資料,也可以使用fillna函數對空值進行填充。
删除資料表中含有空值的行
df.dropna(how='any')
也可以使用數字對空值進行填充
使用數字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
2.清理空格
字元中的空格也是資料清洗中一個常見的問題
清除city字段中的字元空格
df['city']=df['city'].map(str.strip)
3.大小寫轉換
在英文字段中,字母的大小寫不統一也是一個常見的問題。
Excel中有UPPER,LOWER等函數,Python中也有同名函數用來解決
大小寫的問題。
city列大小寫轉換
df['city']=df['city'].str.lower()
4.更改資料格式
Excel中通過“設定單元格格式”功能可以修改資料格式。
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'})
6.删除重複值
Excel的資料目錄下有“删除重複項”的功能
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中使用replace函數實作資料替換
附#資料替換
df['city'].replace('sh', 'shanghai')
1 shanghai
Name: city, d
篇幅有限,剩下的函數總結會在下一章Python學習教程中繼續為大家更新!不會等太久!