- Python資料科學教程
- Python資料科學 - 首頁
- Python資料科學 - 入門
- Python資料科學 - 環境搭建
- Python資料科學 - Pandas
- Python資料科學 - NumPy
- Python資料科學 - SciPy
- Python資料科學 - Matplotlib
- Python資料處理
- Python資料操作
- Python資料清洗
- Python處理CSV資料
- Python處理JSON資料
- Python處理XLS資料
- Python關係型資料庫
- Python NoSQL資料庫
- Python日期和時間
- Python資料整理
- Python資料聚合
- Python讀取HTML頁面
- Python處理非結構化資料
- Python分詞
- Python詞幹提取和詞形還原
- Python資料視覺化
- Python圖表屬性
- Python圖表樣式
- Python箱線圖
- Python熱力圖
- Python散點圖
- Python氣泡圖
- Python 3D圖表
- Python時間序列
- Python地理資料
- Python圖資料
Python - 資料整理
資料整理涉及處理各種格式的資料,例如合併、分組、連線等,目的是為了分析資料或準備資料以與另一組資料一起使用。Python具有內建功能,可以將這些整理方法應用於各種資料集以實現分析目標。本章將介紹一些描述這些方法的示例。
合併資料
Python中的Pandas庫提供單個函式merge作為所有DataFrame物件之間標準資料庫連線操作的入口點。
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True)
現在讓我們建立兩個不同的DataFrame並對其執行合併操作。
# import the pandas library
import pandas as pd
left = pd.DataFrame({
'id':[1,2,3,4,5],
'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
'subject_id':['sub1','sub2','sub4','sub6','sub5']})
right = pd.DataFrame(
{'id':[1,2,3,4,5],
'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
'subject_id':['sub2','sub4','sub3','sub6','sub5']})
print left
print right
其輸出如下:
Name id subject_id
0 Alex 1 sub1
1 Amy 2 sub2
2 Allen 3 sub4
3 Alice 4 sub6
4 Ayoung 5 sub5
Name id subject_id
0 Billy 1 sub2
1 Brian 2 sub4
2 Bran 3 sub3
3 Bryce 4 sub6
4 Betty 5 sub5
分組資料
在資料分析中,經常需要對資料集進行分組,以便根據資料集中存在的各種組獲得結果。Pandas具有內建方法,可以將資料彙總到各個組中。
在下面的示例中,我們按年份對資料進行分組,然後獲取特定年份的結果。
# import the pandas library
import pandas as pd
ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings',
'kings', 'Kings', 'Kings', 'Riders', 'Royals', 'Royals', 'Riders'],
'Rank': [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2],
'Year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017],
'Points':[876,789,863,673,741,812,756,788,694,701,804,690]}
df = pd.DataFrame(ipl_data)
grouped = df.groupby('Year')
print grouped.get_group(2014)
其輸出如下:
Points Rank Team Year 0 876 1 Riders 2014 2 863 2 Devils 2014 4 741 3 Kings 2014 9 701 4 Royals 2014
連線資料
Pandas提供各種工具,可以輕鬆地將Series、DataFrame和Panel物件組合在一起。在下面的示例中,concat函式沿軸執行連線操作。讓我們建立不同的物件並進行連線。
import pandas as pd
one = pd.DataFrame({
'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
'subject_id':['sub1','sub2','sub4','sub6','sub5'],
'Marks_scored':[98,90,87,69,78]},
index=[1,2,3,4,5])
two = pd.DataFrame({
'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'],
'subject_id':['sub2','sub4','sub3','sub6','sub5'],
'Marks_scored':[89,80,79,97,88]},
index=[1,2,3,4,5])
print pd.concat([one,two])
其輸出如下:
Marks_scored Name subject_id 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
廣告