Python

講者 : UR

時間 : 2020/3/22

資料分析 基礎入門

Python : Data Analysis Using pandas

Outline

  • Pandas 認識 & 安裝
  • 資料類型 : Series & DataFrame
  • Reference
  • 處理數據,資料分析
  • 基於Numpy的package
  • 兩種資料類型 :
    Series : 單維度資料
    DataFrame : 雙維度資料

安裝 Pandas

pip install pandas

Series

  • 單維度資料,直向欄位的資料

  • 類似 Python 的 list

0 Bob 1996
1 Nancy 1997
2 Amy 1997

Series

  • 引入 pandas

import pandas as pd
mySeries = pd.Series([20,10,15])
print(mySeries)
  • 建立 Series

data = pd.Series(串列)

Series

  • 取得 values

  • 建立 Series
print(mySeries.values) #[20 10 15]
  • 取得 資料數量

print(mySeries.size) #3

Series

  • 取得 特定value

print(data2['a']) #8
print(data2[0]) #8
  • 查詢是否存在某個Index

print('a' in data2) #True
  • 自訂 index

data2 = pd.Series([8,9,10], index=['a','b','c'])
print(data2.index) #Index(['a', 'b', 'c'], dtype='object')

Series

print(data3.sum()) # 相加總和 	#60
print(data3.max()) #最大值 	#20
print(data3.min()) #最小值 	#-5
print(data3.prod()) #相乘總和 	#-1440000
print(data3.mean()) #算術平均數 	#10.0
print(data3.median()) #中位數 	#11.0
print(data3.std()) #標準差 	#8.461678320522472
print(data3.nlargest(3)) #前3最大的數字
#4    20
#5    15
#2    12
#dtype: int64
print(data3.nsmallest(2)) #前2最小的數字
#3   -5
#0    8
#dtype: int64
  • 數學 統計相關

data3 = pd.Series([8,10,12,-5,20,15])

DataFrame

  • 雙維度資料

  • 有欄和列的資料

0 Bob 1996
1 Nancy 1997
2 Amy 1997

DataFrame

  • 引入 pandas

import pandas as pd
  • 建立 DataFrame

data = pd.DataFrame(字典)

myframe = pd.DataFrame({'name': ['Bob', 'Nancy','Amy','Elsa'],
        'year': [1996, 1997, 1997, 1996],
        'month': [8, 8, 7, 1],
        'day':[11,23,8,3]})
print(myframe)
  • 取得 values

print(myframe.values)
  • 取得 資料數量

print(myframe.size) #16

DataFrame

  • 資料形狀

print(myframe.shape) #(4,4)

DataFrame

  • 自訂 index

myframe = pd.DataFrame({'name': ['Bob', 'Nancy','Amy','Elsa'],
        'year': [1996, 1997, 1997, 1996],
        'month': [8, 8, 7, 1],
        'day':[11,23,8,3]}, index = ['a','b','c','d'])
print(myframe)

DataFrame

  • 依據順序取得一整列資料

dataframe.iloc[順序]

print(myframe.iloc[1])
print(myframe.loc['b'])
  • 依據索引取得一整列資料

dataframe.loc[索引]

DataFrame

  • 取得一整欄資料

dataframe[欄位名稱]

print(myframe['name'])

DataFrame

  • 建立新欄位

dataframe[新欄位名稱] = 資料串列

dataframe[新欄位名稱] = Series

myframe['salary'] = [24000,30000,23800,45000]
myframe['rank'] = pd.Series([3,2,4,1], index = ['a','b','c','d'])
print(myframe)

Reference

Thanks.
END

Made with Slides.com