Python基礎 | Pandas 基礎總結

Pandas 基於NumPy,爲數據清理提供捷徑

數據結構

序列Series,類似於numpy中的一維數組,不過Series帶索引

數據框DataFrame,類似於Numpy中的二維數組

Series

創建series兩種方式

series  = pd.Series([1,2,3,4],index=['a','b','c','d']) # index缺省時候,就是一維數組了
print(series)

dic = {'zhangsan':18,'lisi':20}
series2 = pd.Series(dic)
print(series2)

DataFrame

dic = {
    'name': ['zhangsan', 'lisi', 'ww'],
    'age': [20, 18, 21],
    'gender': ['m', 'f', 'm']
}
data = pd.DataFrame(dic, columns=['name', 'age', 'gender'], index=['1', '2', '3'])
print(data)
"""
       name  age gender
1  zhangsan   20      m
2      lisi   18      f
3        ww   21      m
"""

基本屬性

函數 返回值
values 元素
index 索引
columns 列名
ndim 維度數
shape 數據形狀,行列數目
dtypes 類型
size 元素個數

增刪改查

dic = {
    'name': ['zhangsan', 'lisi', 'ww'],
    'age': [20, 18, 21],
    'gender': ['m', 'f', 'm']
}
data = pd.DataFrame(dic, columns=['name', 'age', 'gender'], index=['1', '2', '3'])
print(data[['name', 'age']]['1': '2'])
#%%
       name  age
1  zhangsan   20
2      lisi   18
#%%

# DataFrame.loc[行索引名稱或條件,列索引名稱]
# DataFrame.iloc[行索引位置,列索引位置]
print(data.loc['1':'2','name':'gender'])

print(data.iloc[:2,0:3])
#%%
       name  age gender
1  zhangsan   20      m
2      lisi   18      f
       name  age gender
1  zhangsan   20      m
2      lisi   18      f
#%%

# loc,iloc 訪問方式可以傳入表達式,返回滿足表達式的所有值
print(data.loc[data['age']>18,['name','age']])
#%%
       name  age
1  zhangsan   20
3        ww   21
#%%
  • 更改DataFrame中的數據
data['age'] = 20
data.loc[:,'age']  = 20
data.iloc[:,1] = 20

# 使用series賦值
val  =  pd.Series([20,20,20], index = '1,2,3')
data['age'] = val
  • 添加數據
data['class'] = '1604'
  • 刪除數據
data.drop('class', axis=1,inplace=True) # 刪除class 列數據,並對源數據生效
# axis = 0 ,刪除列
# inplace = false ,對原數據不生效

索引重建

series.reindex(['a','b','c'])
data.reindex(['0','1','2'])

讀寫數據

  • 讀取數據庫
  • 文本讀取
    read_table(), read_csv()
  • Excel
    read_excel
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章