pandas 是一個開放源碼、BSD許可的庫,爲Python編程語言提供高性能、易於使用的數據結構和數據分析工具。python
首先,咱們想要用一個第三方提供的庫時,咱們須要導入咱們的項目中,這裏咱們導入 pandas 和 numpy (numpy 是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫)。編程
import numpy as np
import pandas as pd
複製代碼
pandas 的主要數據結構分爲 Series 和 DataFrame。
Series:它是單列數據,有點像數組,數據是一維的。
DataFrame:能夠將它想象成一個關係型數據表格,數據是二維的。數組
建立 Series 對象:微信
s = pd.Series([1, 3, 5, np.nan, 6, 8])
s
複製代碼
用 NumPy 數組建立 DataFrame 對象,並用數組的 datetime 做爲索引:數據結構
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
df
複製代碼
用 dict 對象建立 DataFrame 對象:app
df2 = pd.DataFrame({'A': 1.,
'B': pd.Timestamp('20130102'),
'C': pd.Series(1, index=list(range(4)), dtype='float32'),
'D': np.array([3] * 4, dtype='int32'),
'E': pd.Categorical(["test", "train", "test", "train"]),
'F': 'foo'})
fd2
複製代碼
顯示數據dom
# 顯示 df 的前 5 條數據
df.head()
# 顯示 df 的後 3 條數據
df.tail(3)
# 顯示 df 的索引
df.index
# 顯示 df 全部列
df.columns
複製代碼
獲取部分數據機器學習
# 獲取 A 列的數據
df['A']
# 獲取下標爲 0,1,2 的數據
df[0:3]
# 獲取時間段的數據
df['20130102':'20130104']
複製代碼
根據標籤獲取數據編程語言
df.loc[:, ['A', 'B']]
df.loc['20130102':'20130104', ['A', 'B']]
df.loc['20130102', ['A', 'B']]
複製代碼
根據下標獲取數據函數
df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]
複製代碼
添加一列新數據 F
s1 = pd.Series([1, 2, 3, 4, 5, 6], index=pd.date_range('20130102', periods=6))
df['F'] = s1
複製代碼
更復雜的一些操做,能夠使用 apply 方法,傳入一個 lambda 函數
df.apply(lambda x: x.max() - x.min())
複製代碼
操做 CSV 文件
# 把 df 中的數據寫入 foo.csv 文件中
df.to_csv('foo.csv')
# 讀取 foo.csv 文件中的數據
pd.read_csv('foo.csv')
複製代碼
操做 Excel 文件
# 把 df 中的數據寫入 foo.xlsx 文件中
df.to_excel('foo.xlsx', sheet_name='Sheet1')
# 讀取 foo.xlsx 文件中的數據
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
複製代碼
在這篇文章中,咱們介紹了 pandas 處理數據的一些基本使用方法。有興趣的同窗能夠查看 pandas 官方教程,裏面有關於 pandas庫 的全部 API,點擊查看官網更多API。咱們在後面實際操做中,在介紹一些經常使用的 API。
偷偷告訴你們一個功能強大的機器學習網頁運行器,那就是 Google 的一個機器學習實驗項目,不須要安裝任何東西,使用很是簡單。
地址:colab.research.google.com
PS:
清山綠水始於塵,博學多識貴於勤。
我有酒,你有故事嗎?
微信公衆號:「清塵閒聊」。
歡迎一塊兒談天說地,聊代碼。