Pandas
什麼是Pandas?
Pandas的名稱來自於面板數據(panel data)和Python數據分析(data analysis)。
Pandas是一個強大的分析結構化數據的工具集,基於NumPy構建,提供了 高級數據結構 和 數據操作工具,它是使Python成爲強大而高效的數據分析環境的重要因素之一。
+ 一個強大的分析和操作大型結構化數據集所需的工具集
+ 基礎是NumPy,提供了高性能矩陣的運算
+ 提供了大量能夠快速便捷地處理數據的函數和方法
+ 應用於數據挖掘,數據分析
+ 提供數據清洗功能
-
數據結構介紹
在pandas中有兩類非常重要的數據結構,即序列Series和數據框DataFrame。
- 序列Series:
numpy中的一維數組,除了通吃一維數組可用的函數或方法,而且其可通過索引標籤的方式獲取數據,還具有索引的自動對齊功能;
- DataFrame:
類似於numpy中的二維數組,同樣可以通用numpy數組的函數和方法,而且還具有其他靈活應用。
Series的創建
序列的創建方式主要有三種方式
- 通過一維數組創建序列
import numpy as np
import pandas as pd
arr=np.arange(10)
print(arr)
s1=pd.Series(arr)
print(s1)
[0 1 2 3 4 5 6 7 8 9]
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64
- 通過字典的方式創建
import numpy as np
import pandas as pd
import string
# 字典推導式
a={string.ascii_uppercase[i]:i for i in range(10)}
print(a)
s2=pd.Series(a)
print(s2)
## index
# 這裏的索引就是字典的key
## 重新給其制定其他的索引之後,如果能夠對應上,就取值,如果不能,就爲Nan
s3=pd.Series(a,index=list(string.ascii_uppercase[5:15]))
print(s3)
## numpy中NaN爲float,pandas會自動根據數據類型更改series的dtype
{'A': 0, 'B': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5, 'G': 6, 'H': 7, 'I': 8, 'J': 9}
A 0
B 1
C 2
D 3
E 4
F 5
G 6
H 7
I 8
J 9
dtype: int64
F 5.0
G 6.0
H 7.0
I 8.0
J 9.0
K NaN
L NaN
M NaN
N NaN
O NaN
dtype: float64
-
通過DataFrame中的某一行或某一列創建序列
在後面講
DataFrame的創建
數據框的創建主要有三種方式:
1. 通過二維數組創建數據框
import numpy as np
import pandas as pd
arr=np.array(np.arange(12)).reshape(4,3)
print(arr)
df1=pd.DataFrame(arr)
print(df1)
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11
DataFrame對象既有行索引,又有列索引
行索引,表明不同行,橫向索引,叫index,0軸,axis=
列索引,表名不同列,縱向索引,叫columns,1軸,axis=1