學習Python, 當然少不了pandas,pandas是python數據科學中的必備工具,熟練使用pandas是從sql boy/girl 跨越到一名優秀的數據分析師傅的必備技能。
這篇pandas常用操作總結幫大家回顧下pandas的常用語法,尤其是我們分析數據時常用的方法。文末還有pandas的cheat sheet,幫助你記住常見的pandas操作。
常用操作分類:
從不同文件中導入數據以不同的文件格式導出DataFrames查看DataFrame信息選擇數據的特定子集數據清理命令分組、排序和過濾數據其他以下df代表DataFrame對象,ser代表Series對象。
從不同文件中導入數據
從CSV文件中讀取所有數據:pd.read_csv(file_name)從一個分隔的文本文件(如TSV)中讀取所有數據:pd.read_table(file_name)從Excel表讀取:pd.read_excel(file_name)從SQL資料庫中讀取數據:pd.read_sql(query, connectionObject)從JSON格式的字符串或URL中獲取數據:pd.read_json(jsonString)要獲取剪貼板的內容:pd.read_clipboard()
以不同的文件格式導出DataFrames
將DataFrame寫入CSV文件:df.to_csv(file_name)將DataFrame寫入Excel文件:df.to_excel(file_name)將一個DataFrame寫入一個SQL表:df.to_sql(tableName, connectionObject)將DataFrame寫入JSON格式的文件:df.to_json(file_name)
查看DataFrame信息
獲取所有與索引、數據類型和內存相關的信息:df.info()要提取DataFrame的起始n行:df.head(n)要提取DataFrame中最後n行:df.tail(n)要提取DataFrame中可用的行數和列數:df.shape。總結數字列的統計:df.describe()要查看唯一值及其計數:ser.value_counts(dropna=False)
選擇數據的特定子集
提取第一行:df.iloc[0,:]。提取第一列的第一個元素: df.iloc[0,0]返回標籤為'col'的列作為Series:df[col]。返回具有新數據框架的列:df[[col1,col2]]。按位置選擇數據:ser.iloc[0]。按索引選擇數據:ser.loc['index_one']
數據清理命令
同時重命名所有列:df.rename(columns = lambda x: x + '1')選擇性地重命名列:df.rename(columns = {'oldName': 'newName'})重命名所有的索引:df.rename(index = lambda x: x + 1)按順序重命名列:df.columns = ['x', 'y', 'z']。檢查是否存在空值,相應地返回一個布爾值arrray:pd.isnull()pd.isnull()的反向:pd.notnull()刪除所有包含空值的記錄:df.dropna()刪除所有包含空值的列:df.dropna(axis=1)用'n'代替每個空值:df.fillna(n)要將series的所有數據類型轉換為浮點數:ser.astype(float)將所有數字1替換為'1',將3替換為'3':ser.replace([1,2], ['one', 'two'])
python數據分析經典教材:
分組、排序和過濾數據
返回列值的groupby對象:df.groupby(colm)返回多列值的groupby對象:df.groupby([colm1, colm2])按升序排序(按列):df.sort_values(colm1)要按降序排序(按列):df.sort_values(colm2, ascending=False)提取列值大於0.6的行:df[df[colm] > 0.6]
其他
將第一個DataFrame的行添加到第二個DataFrame的末尾:df1.append(df2)將第一個DataFrame的列添加到第二個DataFrame的末尾:pd.concat([df1,df2],axis=1)返回所有列的平均值:df.mean()返回非空值的數量:df.count()另外給大家準備了pandas使用的cheat sheet,簡單兩頁全面地總結了pandas的使用方法。
截圖:
公眾號 程式設計師阿狗
中回復「 1206 」即可獲取。