numpy、pandas常用函式功能
numpy和pandas常用函式功能
一、Numpy
- python科學計算的基礎模組
- 資料格式:ndarray
- 安裝:sudo apt-get install python-numpy、pip install numpy
1.1 常用功能
陣列建立
np.array()、np.zeros()、np.ones()、np.empty()、np.arrange()
屬性:dtype、shape
索引
arr[][]、 arr[:, :]
條件判斷
np.where(condition, arr1, arr2)
布林陣列
any(): 用於測試陣列(向量)中是否存在True
all(): 用於確定陣列中是否全是True
改變陣列形狀
reshape()、flatten()
連線和切分
- 水平方向
numpy.hstack((a,b))
numpy.concatenate((a,b),axis=1) - 垂直方向
numpy.vstack(a,b)
numpy.concartenate((a,b),axis=0) - 深度方向
numpy.dstack() - 行
row_stack - 列
column_stack
結構化陣列
平鋪函式: numpy.tile(a, repeats)
元素複製函式:numpy.repeat(a, repeats, axis=None)
新增元素: numpy.append(arr, values, axis=None)
刪除元素:numpy.delete(arr,obj,axis=None)
矩陣操作
轉置: .T、transpose()
統計操作
函式 | 功能 |
---|---|
sum | 對陣列中全部或某軸向的元素求和。零長度的陣列的sum為0 |
mean | 算數平均數。零長度的陣列的mean為NaN |
std、var | 分別為標準差和方差,自由度可調(預設為n) |
min、max | 最大值和最小值 |
argmin、argmax | 分別為最大和最小元素的索引 |
cumsum | 所有元素的累計和 |
cumprod | 所有元素的累計積 |
檔案讀寫
savetxt(fileName,data)
loadtxt:讀取csv檔案
np.loadtxt(filepath,delimiter,usecols,unpack)
與list的轉換
轉為list:arr.tolist()
list轉為array:np.array(list1)
二、pandas
- pandas基於numpy構建
- 安裝: sudo apt-get install python-pandas、pip install pandas
2.1 series物件
- 基本資料結構:Series和DataFrame。
- Series是一種類似於一維陣列的物件
- Series由一組資料以及一組與之相關的資料標籤(即索引)組。
series的使用
from pandas import Series
obj = Series([1,3,5])
print(obj)
# 0 1
# 1 3
# 2 5
print(obj.values)
print(obj.index)
# 自定義索引
obj = Series(['aa','bb','cc'], index=['a1','a2','a3'])
# 字典轉為series
salarydata = {'a':5000, 'b':8000, 'c':7500}
obj = Series(salarydata)
#判斷是否有缺失值
print(pd.isnull(obj2))
print(pd.notnull(obj2))
2.2 DataFrame
- DataFrame是一個表格型的資料結構,它含有一組有序的列
- 既有行索引,也有列索引
DataFrame的使用
from pandas import DataFrame
data = {'Number':[1,2,3,4,5],
'Name':['Alvin','Teresa','Elly','James','Nancy'],
'Scores':[98.5, 100.0, 93.0,98.5,90.5]}
frame = DataFrame(data)
print(frame)
# 建立指定序列順序的DataFrame
frame2 = DataFrame(data, columns=['Number','Name','Scores'])
print(frame2)
#指定index
frame3 = DataFrame(data, columns['Number','Name','Scores','Age'],index=['No.01','No.02','No.03','No.04','No.05'])
#訪問操作
dataframe物件[ 列名稱 ] 或 dataframe物件.列名稱
#行列索引名
frame.index.name
frame.columns.name
frame.values
#head和tail的方法
Head獲取開頭若干行資料
tail獲取結尾若干行資料
#info方法
獲取資料資訊,包括索引型別和列型別、非空值和記憶體使用
DataFrame支援構造
型別 | 說明 |
---|---|
二維 ndarray | 資料矩陣,還可以傳入行標和列標 |
由陣列、列表或元組組成的字典 | 每個序列會變成DataFrame的一列。所有序列的長度必須相同。 |
NumPy的鋼結構化/記錄陣列 | 類似於“由陣列組成的字典” |
由Series組成的字典 | 每個Series會成為一列。如果沒有顯示指定索引,則個Series的索引會被合併成結果餓行索引 |
由字典組成的字典 | 各內層字典會成為一列。鍵會被合併成結果的行索引,跟“由Series組成的字典”的情況一樣 |
字典或Series的列表 | 各項將會成為DataFrame的一行。字典鍵或Series索引的並集將會成為DataFrame的列標 |
由列表或元組組成的列表 | 類似於“二維ndarry” |
另一個DataFrame | 該DataFrame的索引將會被沿用,除非顯式指定了其他索引 |
NumPy的MaskedArray | 類似於“二維ndarry”的情況,只是掩碼值在結果DataFrame會變成NA/缺失值 |
2.3 基本資料分析
索引
series同numpy類似,但索引值可以不為整數。
切片
與numpy不同,其末端是包含的。
算數運算
-
它可以對不同索引的物件進行算數運算。
-
在將物件相加時,如果存在不同索引對,則結果的索引就是該索引對的並集。
-
對於DataFrame物件而言,對齊操作同時發生在行和列上。有對應的值則相加,沒有則用NAN填充
-
add(加)、sub(減)、mul(乘)、div(除),可以加入fill_value
df1.add(df2, fill_value=0) -
刪除
df1 = df.drop([‘No3’,‘No1’] , axis=0) -
排序
s.sort_index(ascending=?, axis=?):axis=0 行索引、axis=1 列索引
s.sort_values(by=)by指定列排序 -
改變索引
Pandas物件的一個重要方法是 reindex(),其作用是建立一個適應新索引的新物件(如果某個索引值當前不存在,就引入缺失值NAN)。可用fill_value、
也可引入method填充:
引數 | 說明 |
---|---|
ffill 或 pad | 前向填充(或搬運)值 |
dfill 或 backfill | 後向填充(或搬運)值。 |
columns = new_columns
- ix的標籤索引
frame.ix[[‘a’,‘b’,‘c’,‘d’], new_columns]
reindex的引數
型別 | 說明 |
---|---|
index | 用作索引的新序列。既可以是Index例項,也可以是其他序列型的Python資料結構。Index 會被完全使用,就像沒有任何複製一樣。 |
method | 插值(填充)方式。 |
fill_value | 在重新索引的過程中,需要引入缺失值時使用的替代值。 |
limit | 前向或後向填充時的最大填充量。 |
level | 在MultiIndex的指定級別上匹配簡單索引,否則選取其子集。 |
copy | 預設為True,無論如何都複製;如果為False,則新舊相等就不復制。 |
相關文章
- Task02:Numpy常用函式函式
- NumPy常用的位運算函式函式
- Pandas - Series.str.xxx 常用函式函式
- Python資料分析--Numpy常用函式介紹(7)--Numpy中矩陣和通用函式Python函式矩陣
- Python資料分析--Numpy常用函式介紹(5)--Numpy中的相關性函式Python函式
- pandas之常用基本函式學習筆記函式筆記
- Python資料分析--Numpy常用函式介紹(3)Python函式
- Python資料分析--Numpy常用函式介紹(2)Python函式
- Pandas - pandas.Series.pipe 函式函式
- numpy-random函式random函式
- NumPy 數學函式函式
- numpy.where()函式函式
- Python資料分析--Numpy常用函式介紹(9)--Numpy中幾中常見的圖形Python函式
- qt -- QString類及常用函式功能的使用QT函式
- Python中Numpy函式詳解Python函式
- NumPy之:ndarray中的函式函式
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- [譯] 使用 NumPy 和 Pandas 進行 Python 式資料清理Python
- 常用函式函式
- NumPy 基礎 (三) - 數學函式函式
- 【Numpy學習12】邏輯函式函式
- Lesson17——NumPy 統計函式函式
- Python資料分析--Numpy常用函式介紹(6)--Numpy中與股票成交量有關的計算Python函式
- excel最常用的八個函式彙總 excel中各函式的用途功能Excel函式
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- numpy學習回顧-數學函式及邏輯函式函式
- pandas.DataFrame.groupby函式應用函式
- pandas 將函式應用到列(qbit)函式
- Python資料分析--Numpy常用函式介紹(4)--Numpy中的線性關係和資料修剪壓縮Python函式
- MySQL 常用函式MySql函式
- kotlin常用函式Kotlin函式
- js 常用函式JS函式
- Oracle常用函式Oracle函式
- 常用函式整理函式
- TensorFlow常用函式函式
- PHP 常用函式PHP函式
- QT常用函式QT函式