查看數據類型及屬性
# 查看df類型
type(df)
# 查看df的shape屬性,可以獲取DataFrame的行數,列數
df.shape
# 查看df的columns屬性,獲取DataFrame中的列名
df.columns
# 查看df的dtypes屬性,獲取每一列的數據類型
df.dtypes
df.info()
Pandas與Python常用數據類型對照
加載篩選數據
df根據列名加載部分列數據:加載一列數據,通過df['列名']方式獲取,加載多列數據,通過df[['列名1','列名2',...]]。
df按行加載部分數據:先打印前5行數據 觀察第一列 print(df.head()) 最左邊一列是行號,也就是DataFrame的行索引 Pandas默認使用行號作為行索引。
loc方法傳入行索引,來獲取DataFrame的部分數據(一行,或多行)
df.loc[0]
df.loc[99]
df.loc[last_row_index]iloc : 通過行號獲取行數據
iloc傳入的是索引的序號,loc是索引的標簽
使用iloc時可以傳入-1來獲取最后一行數據,使用loc的時候不行loc和iloc屬性既可以用于獲取列數據,也可以用于獲取行數據
df.loc[[行],[列]]
df.iloc[[行],[列]]
df.loc[:,['country','year','pop']]
# 獲取全部的行,但每一行的列內容接受三個df.iloc[:,[0,2,4,-1]]
df.loc[:,[0,2,4,-1]]
df.iloc[:,0:6:2] # 所有行, 第0 , 第2 第4列
? ? ? ? 可以通過行和列獲取某幾個格的元素
分組和聚合運算
先將數據分組? 對每組的數據再去進行統計計算如,求平均,求每組數據條目數(頻數)等 再將每一組計算的結果合并起來 可以使用DataFrame的groupby方法完成分組/聚合計算
df.groupby(by='year')[['lifeExp','pop','gdpPercap']].mean()
# 根據year分組,查看每年的life平均值,pop平均值和gpd平均值,用mean做聚合運算
也可以根據兩個列分組,形成二維數據聚合
df.groupby(['continent'])['country'].nunique()
df.groupby('continent')['lifeExp'].max()
# 可以使用 nunique 方法 計算Pandas Series的唯一值計數
# 可以使用 value_counts 方法來獲取Pandas Series 的頻數統計
df.groupby(‘continent’) → dataframeGroupby對象就是把continent取值相同的數據放到一組中
df.groupby(‘continent’)[字段] → seriesGroupby對象 ?從分號組的Dataframe數據中篩序出一列
df.groupby(‘continent’)[字段].mean() seriesGroupby對象再調用mean()/其它聚合函數