數(shù)據(jù)分析
定義:
商業(yè)分析是基于商業(yè)目的,有目的的進行收集捧弃、整理赠叼、加工和分析數(shù)據(jù),提煉有價值信息的一個過程违霞。
過程:
明確分析目的與框架嘴办、數(shù)據(jù)收集、數(shù)據(jù)處理(數(shù)據(jù)清洗买鸽、數(shù)據(jù)轉(zhuǎn)換)涧郊、數(shù)據(jù)分析、數(shù)據(jù)展現(xiàn)和撰寫報告等6個階段
數(shù)據(jù)類型:
- 表格型數(shù)據(jù)
- 多維數(shù)組(矩陣)
- 通過關(guān)鍵列
- 間隔平均或不平均的時間序列
excel是最廣泛的數(shù)據(jù)分析工具
為什么用python進行數(shù)據(jù)分析
- 擁有巨大活躍的科學(xué)計算社區(qū)
- 數(shù)據(jù)科學(xué)眼五、機器學(xué)習(xí)妆艘、學(xué)界和工業(yè)界開發(fā)重要語言
- 膠水語言彤灶,輕松集成舊有算法和系統(tǒng)
- 不僅適用于研究和原型構(gòu)建,同時也適用于構(gòu)建生產(chǎn)系統(tǒng)
重要的python庫
1.Numpy(Numerical python)
python科學(xué)計算的基礎(chǔ)包
- 快速高效的多維數(shù)組對象ndarray
- 用于對數(shù)組執(zhí)行元素級計算以及直接對數(shù)組執(zhí)行數(shù)學(xué)運算的函數(shù)
- 用于讀寫硬盤上基于數(shù)組的數(shù)據(jù)集的工具
- 線性代數(shù)運算批旺、傅里葉變換幌陕,以及隨機數(shù)生成
- 成熟的C API,用于python插件和原生C汽煮、C++搏熄、Fortran代碼訪問Numpy的數(shù)據(jù)結(jié)構(gòu)和計算工具
- 對于數(shù)值型數(shù)據(jù),Numpy數(shù)組在存儲和處理數(shù)據(jù)時要比內(nèi)置的python數(shù)據(jù)結(jié)構(gòu)高效的多暇赤。
- pandas
pandas提供了快速便捷處理結(jié)構(gòu)化數(shù)據(jù)的?量數(shù)據(jù)結(jié)構(gòu)和函數(shù)心例。
pandas兼具NumPy?性能的數(shù)組計算功能以及電?表格和關(guān)系型數(shù)據(jù)庫(如SQL)靈活的數(shù)據(jù)處理功能。它提供了復(fù)雜精細的索引功能鞋囊,能更加便捷地完成重塑契邀、切?和切塊、聚合以及選取數(shù)據(jù)?集等操作
數(shù)據(jù)操作失暴、準備坯门、清洗是數(shù)據(jù)分析最重要的技能(耗時最?)
- matplotlib
最流行的用于繪制圖表和其他二維數(shù)據(jù)可視化的python庫
適合創(chuàng)建出版物上用的圖表
- ipython 和 jupyter
執(zhí)行 → 探索 工作流(探索、試錯逗扒、重復(fù))
ipython web notebook → jupyter notebook(支持40多種編程語言) - Scipy
一組專門解決科學(xué)計算中各種標準問題域的包的集合 - scikit-learm
scikit-learm成為python的通用機器學(xué)習(xí)的工具包 - statsmofels
statsmodels包含經(jīng)典統(tǒng)計學(xué)和經(jīng)濟計量學(xué)的算法
運行Jupyter Notebook
pip install ipython
pip install numpy
pip install jupyter
pip install pandas
pip install matplotlib
pip install scikitlearn
notebook是Jupyter項?的重要組件之?古戴,它是?個代碼、?本(有標記或?標記)矩肩、數(shù)據(jù)可
視化或其它輸出的交互式?檔现恼。
Python的Jupyter內(nèi)核是使?IPython。
Numpy
Numpy:數(shù)組和矢量計算
- NumPy之于數(shù)值計算特別重要的原因之?黍檩,是因為它可以?效處理?數(shù)組的數(shù)據(jù)
- NumPy是在?個連續(xù)的內(nèi)存塊中存儲數(shù)據(jù)叉袍,獨?于其他Python內(nèi)置對象。NumPy的C語?編
- 寫的算法庫可以操作內(nèi)存刽酱,?不必進?類型檢查或其它前期?作喳逛。?起Python的內(nèi)置序列,
- NumPy數(shù)組使?的內(nèi)存更少棵里。
NumPy的ndarray:?種多維數(shù)組對象
NumPy最重要的?個特點就是其N維數(shù)組對象(即ndarray)润文, 該對象是?個快速?靈活的?
數(shù)據(jù)集容器。你可以利?這種數(shù)組對整塊數(shù)據(jù)執(zhí)??些數(shù)學(xué)運算殿怜,其語法跟標量元素之間的運
算?樣典蝌。
NumPy數(shù)組的運算
不?編寫循環(huán)即可對數(shù)據(jù)執(zhí)?批量運算。NumPy?戶稱其為?量化(vectorization)头谜。??相等的數(shù)組之間的任何算術(shù)運算都會將運算應(yīng)?到元素級
pandas
pandas是專?為處理表格和混雜數(shù)據(jù)設(shè)計的骏掀,?NumPy更適合處理統(tǒng)?
的數(shù)值數(shù)組數(shù)據(jù)。
兩個主要數(shù)據(jù)結(jié)構(gòu):Series和DataFrame
Series
Series是?種類似于?維數(shù)組的對象,它由?組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及?組與之相關(guān)的數(shù)據(jù)標簽(即索引)組成
DataFrame
DataFrame是?個表格型的數(shù)據(jù)結(jié)構(gòu)截驮,它含有?組有序的列笑陈,每列可以是不同的值類型(數(shù)
值、字符串侧纯、布爾值等),DataFrame既有?索引也有列索引甲脏。
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
'year': [2000, 2001, 2002, 2001, 2002, 2003],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
frame = pd.DataFrame(data)
數(shù)據(jù)加載眶熬、存儲和?件格式
讀寫?本格式的數(shù)據(jù)
pandas提供了?些?于將表格型數(shù)據(jù)讀取為DataFrame對象的函數(shù),其中read_csv和
read_table?得最多
read_csv # 從文件块请、url娜氏、文件型對象中加載帶分割符的數(shù)據(jù)。默認分割符為逗號
read_table # 從文件墩新、url贸弥、文件型對象中加載帶分割符的數(shù)據(jù)。默認分割符為制表符(‘\t’)
read_fwf # 讀取定寬列格式數(shù)據(jù)(也就是說海渊,沒有分割符)
read_clipboard #讀取剪貼板中的數(shù)據(jù)绵疲,可以看作read_table的剪貼板。再將網(wǎng)頁轉(zhuǎn)換為表格時很有用
read_excel #從Excel Xls或XLSX file讀取表格數(shù)據(jù)
read_hdf #讀取pandas寫的HDF5文件
read_html 讀取HTML文檔中的所有表格
read_json #讀取JSON(JAVAScript Object Notation)字符串中的數(shù)據(jù)
read_msgpack #二進制格式編碼的pandas數(shù)據(jù)
read_pickle #讀取python pickle格式中存儲的任意對象
read_sas # 讀取存儲于SAS系統(tǒng)自定義存儲格式的任意對象
read_sql # (使用SQLAlchemy)讀取SQL查詢結(jié)果為pandas的DateFrame
read_stata # 讀取stata文件格式的數(shù)據(jù)集
read_feather # 讀取Feather二進制文件格式
需要詳細知識留言整理臣疑。