本文實例講述了Python數據分析pandas模塊用法。分享給大家供大家參考,具體如下:
pandas10分鐘入門,可以查看官網:10 minutes to pandas
也可以查看更復雜的cookbook
pandas是非常強大的數據分析包,pandas 是基于 Numpy 構建的含有更高級數據結構和工具的數據分析包。就好比 Numpy的核心是 ndarray,pandas 圍繞著 Series 和 DataFrame 兩個核心數據結構展開 。Series和DataFrame 分別對應于一維的序列和二維表結構。常規導入方式:
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt
ser1 = pd.Series(range(10,15),index=list('ABCDE'))print(ser1)# 下標和索引等同print(ser1['A'])print(ser1[0])
輸出:
A 10
B 11
C 12
D 13
E 14
dtype: int64
10
10
取連續多個數據時,下標取值不包含結束位置,索引切片包括結束位置
print(ser1['A':'D'])print(ser1[0:3])
輸出:
A 10
B 11
C 12
D 13
dtype: int64
A 10
B 11
C 12
dtype: int64
取多個數據、條件篩選(布爾索引)
# 注意里面是一個列表print(ser1[[0,1,3]])# 布爾索引print(ser1[(ser1>12)&(ser1<15)])
DataFrame是二維標記數據結構。 您可以將其視為電子表格或SQL表,或Series對象。 它通常是最常用的pandans對象。 像Series一樣,DataFrame接受許多不同種類的輸入:
Dict of 1D ndarrays, lists, dicts, or Series 2-D numpy.ndarray Structured or record ndarray A Series Another DataFramedf1 = pd.DataFrame(np.random.randint(10,50,(3,4)), - index=list('ABC'),columns=list('abcd'))index是行索引,colums是列索引 用字典創建時,鍵名就是列索引,而且鍵值可以為列表,會自動補齊
取單行或單列數據,取單個數據
# 列取值,取出的是一個series對象print(df1['a'])print(df1['a'].values)# 取出一行數據的某一行數據,也就是單個數據print(df1['a']['B']) # 這兩個一樣print(df1['a'][1])
取不連續多列,取連續多列(默認不支持連續,需要高級索引)
# 取不連續多列print(df1[['a','c']])
行索引,可以直接切片,但是默認不能不連續多行取值,下標同理
print('行索引取值##############')print(df1['A':'A'])# 取連續多行就是df1['A':'C']
一般情況用于DataFrame,這里直接略過Series
新聞熱點
疑難解答