Pandas 的 Cheat Sheet(中文版)
來自專欄極光日報19 人贊了文章
簡評:Python 數據分析庫 Pandas 基礎知識的快速指南,包括代碼示例。Pandas 的 Cheat Sheet 包含 Pandas 庫的基礎知識,從數據結構到 I/O,選擇、刪除索引或列、排序和排名、檢索正在使用的數據結構的基本信息到應用函數和數據對齊。
高清原版
Pandas 基礎
使用以下導入約定:
Pandas 數據結構 —— Series
能夠保存任何數據類型的一維標記數組
Pandas 數據結構 —— DataFrame
具有可能不同類型的列的二維標記數據結構
需要注意的是,第一列 1、2、3 是索引,Country、Capital、Population 是列。
尋求幫助
>>> help(pd.Series.loc)
I/O
讀寫 CSV
>>> pd.read_csv(file.csv, header=None, nrows=5)>>> df.to_csv(myDataFrame.csv)
從同一 excel 文件中讀取多個 sheet
>>> xlsx = pd.ExcelFile(file.xls)>>> df = pd.read_excel(xlsx, Sheet1)
讀寫 Excel
>>> pd.read_excel(file.xlsx)>>> df.to_excel(dir/myDataFrame.xlsx, sheet_name=Sheet1)
讀寫 SQL 查詢或資料庫表
read_sql()
是 read_sql_table()
和 read_sql_query()
的便捷包裝器
>>> from sqlalchemy import create_engine>>> engine = create_engine(sqlite:///:memory:)>>> pd.read_sql(SELECT * FROM my_table;, engine)>>> pd.read_sql_table(my_table, engine)>>> pd.read_sql_query(SELECT * FROM my_table;, engine)
>>> pd.to_sql(myDf, engine)
篩選
選取一個元素
>>> s[b]
選取 DataFrame 的子集
>>> df[1:]
按位置選取
按行和列選取單個值
按標籤選取
注:(Python 3.6 環境下) 原文以及 Cheat Sheet 的上面兩種用法有誤。
按標籤/位置混和選取(已棄用)
選取行的子集中的單行
>>> df.ix[2]Country BrazilCapital BrasiliaPopulation 207847528
選取列的子集中的單列
>>> df.ix[:, Capital]0 Brussels1 New Delhi2 Brasilia
選取行和列
>>> df.ix[1, Capital]New Delhi
布爾索引
s 的值非 >1
>>> s[~(s > 1)]
s 的值 <-1 或 >2
>>> s[(s < -1) | (s > 2)]
使用過濾器調整 DataFrame
>>> df[df[Population]>1200000000]
設置
將 s 中索引 a 的值設置為 6
>>> s[a] = 6
刪除
從行中刪除值(axis=0)
>>> s.drop([a, c])
從列中刪除值(axis=1)
>>> df.drop(Country, axis=1)
排序和排名
按軸標籤排序
>>> df.sort_index()
按軸的值排序
>>> df.sort_values(by=Country)
將等級分配給條目
>>> df.rank()
檢索 Series/DataFrame 信息
基本信息
(行,列)
>>> df.shape
描述索引
>>> df.index
描述 DataFrame 列
>>> df.columns
DataFrame 信息
>>> df.info()
非 NA 值的數量
>>> df.count()
概要
值的總和
>>> df.sum()
值的累計總和
>>> df.cumsum()
最小/最大值
>>> df.min()>>> df.max()
最小/最大索引值
>>> df.idxmin()>>> df.idxmax()
摘要統計
>>> df.describe()
平均值
>>> df.mean()
中位數
>>> df.median()
應用函數
定義函數
>>> f = lambda x: x*2
應用函數
>>> df.apply(f)
應用函數到元素級別
>>> df.applymap(f)
數據對齊
在不重疊的索引中引入 NA 值:
>>> s3 = pd.Series([7, -2, 3], index=[a, c, d])
藉助填充方法自行完成內部數據對齊:
s.add(s3, fill_value=0)
原文:Pandas Cheat Sheet for Data Science in Python
擴展閱讀:
- Python 3.7 將引入 dataclass 裝飾器
- 使用 Python 格式化字元串
- 使用 Python 和 Click 編寫命令行應用程序
- Python:range 對象並不是迭代器
- 8102 年資深程序員一定要 follow 的 Python 博客/網站 Top 10
極光日報,極光開發者旗下媒體。
每天導讀三篇英文技術文章
推薦閱讀:
※具體數學-第3課(遞歸式轉化為求和求解)
※關於歐拉函數及其一些性質的美妙證明(1)
※日本Twitter上流傳的這倒數學題,據說IQ超過150才能解
※五年級數學(蘇教版)上冊數學概念薈萃
※人教版六年級數學上冊全冊教案1