pandas
為什么學習pandas
- numpy已經可以幫助我們進行資料的處理了,那么學習pandas的目的是什么呢?
- numpy能夠幫助我們處理的是數值型的資料,當然在資料分析中除了數值型的資料還有好多其他型別的資料(字串,時間序列),那么pandas就可以幫我們很好的處理除了數值型的其他資料!
什么是pandas?
- 首先先來認識pandas中的兩個常用的類
- Series
- DataFrame
Series
-
Series是一種類似與一維陣列的物件,由下面兩個部分組成:
- values:一組資料(ndarray型別)
- index:相關的資料索引標簽
-
Series的創建
- 由串列或numpy陣列創建
- 由字典創建
from pandas import Series
s = Series(data=https://www.cnblogs.com/ivanlee717/p/[127,2,3,'regina'])


為什么需要有顯示索引?
答:顯示索引可以增強Series 的可讀性
還可以直接引入字典:

Series的索引和切片
s[0] --> regina
s.姓名 --> regina
s[0:2] -->
姓名 regina
年齡 23
dtype: object
- Series的常用屬性
- shape
- size
- index 回傳索引
- values 回傳值
s.shape
s.size
s.index #回傳索引
s.values #回傳值
s.dtype #元素的型別
-
Series的常用方法
-
head(),tail()

這里的head和tail默認是5,tail顯示最后n個資料
-
unique() 去重

-
isnull(),notnull()
-
add() sub() mul() div()
只有索引一致的資料才可以相加

同時也只有資料型別一樣的才能相加

-
DataFrame
-
DataFrame是一個【表格型】的資料結構,DataFrame由按一定順序排列的多列資料組成,設計初衷是將Series的使用場景從一維拓展到多維,DataFrame既有行索引,也有列索引,
- 行索引:index
- 列索引:columns
- 值:values
-
DataFrame的創建
-
ndarray創建

-
字典創建

-
-
DataFrame的屬性
- values、columns、index、shape

============================================
練習:
根據以下考試成績表,創建一個DataFrame,命名為df:
regina ivanlee 語文 150 0 數學 150 0 英語 150 0 理綜 300 0============================================

-
DataFrame索引操作
df = DataFrame(data=https://www.cnblogs.com/ivanlee717/p/np.random.randint(60,100,size=(5,5)),columns=['A','B','C','D','E'],index=[1,2,3,4,5])
-
對行進行索引
-
iloc: 通過隱式索引取行 (不根據所定義的index取值)

取單個元素:
df.iloc[,] -
loc: 通過顯示索引取行

-
-
佇列進行索引
df['A']#取單列,如果df有顯示的索引,通過索引機制去行或者列的時候只可以使用顯示索引

-
對元素進行索引
取多個元素:

-
-
DataFrame的切片操作
- 對行進行切片
- 對列進行切片
-
df索引和切片操作
-
索引:
- df[col]:取列
- df.loc[index]:取行
- df.iloc[index,col]:取元素
-
切片:
-
df[index1:index3]:切行

-
df.iloc[:,col1:col3]:切列

-
-
DataFrame的計算與Series一致
-
時間資料型別的轉換
-
pd.to_datetime(col)
dic = { 'time':['2010-10-10','2011-11-20','2020-01-10'], 'temp':[33,31,30] } df = DataFrame(data=https://www.cnblogs.com/ivanlee717/p/dic) df['time'].dtype = 'O' import pandas as pd #將time列的資料型別轉換成時間序列型別 df['time'] = pd.to_datetime(df['time']) df['time']
-
-
將某一列設定為行索引
-
df.set_index()
上圖中的索引是隱式索引的012,如果要將time列作為行索引
#將time列作為源資料的行索引 df.set_index('time',inplace=True)
-
本文來自博客園,作者:ivanlee717,轉載請注明原文鏈接:https://www.cnblogs.com/ivanlee717/p/16987592.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/540107.html
標籤:Python
上一篇:day03-功能實作02
