數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,將它們加以彙總和理解並消化,以求最大化地開發數據的功能,發揮數據的做用,使得數據的價值最大化python
數據分析是爲了提取有用信息和造成結論而對數據加以詳細研究和歸納總結的過程。 數據分析的數學基礎在20世紀早期就已確立,但直到計算機的出現才使得實際操做成爲可能,並使得數據分析得以推廣。數據庫
數據分析使用適當的方法對收集來的大量數據進行分析,幫助人們作出判斷,以便採起適當的行動數組
官網:www.anaconda.com 下載安裝對應安裝包便可微信
注意:安裝目錄不能夠有中文和特殊符號markdown
Anaconda集成好了數據分析和機器學習中所須要的所有環境數據結構
啓動:在終端中輸入:jupyter notebook
,按下回車便可app
新建文件:New -->> python3dom
Cell(代碼塊)有兩種模式機器學習
快捷鍵函數
添加cell:a
或b
刪除:x
修改cell的模式
m
y
執行cell內代碼:shift+enter
自動補全:tab
打開幫助文檔:shift+tab
在Python中咱們數據分析離不開如下三劍客
使用 array()
建立一個一維數組
array()
建立一個多維數組使用 zero()
建立一個多維數組
使用 ones()
建立一個多維數組
linspace()
建立一維的等差數列數組使用 arange()
建立一維的等差數列數組
使用 random.randint()
建立隨機的多維數組
索引操做和列表同理
切片操做
矩陣變形
級聯操做
0:列
1:行
經常使用的聚合操做
經常使用的統計函數
標準差:一組數據平均值分散程度的一種度量
方差:統計中的方差是每一個樣本值與全體樣本值的平均數之差的平方值的平均數,即 mean((x-x.mean())**2
。換句話說,標準差就是方差的平方根。
Numpy可以幫助咱們處理的是數值型的數據,而Pandas能夠幫咱們處理除數值型之外的其餘類型數據,
index用來指定顯式索引,能夠加強Series的可讀性。
也可使用字典做爲數據源。
head()
, tail()
unique()
isnull()
, notnull()
索引一致的元素進行算數運算不然補空
可以使用 ndarray 建立。
也可使用字典做爲數據源。
index
用來指定顯式索引,能夠加強 DataFrame 的可讀性。
iloc:經過隱式索引取行
loc:經過顯式索引取行
對行進行切片
對列進行切片
同Series
同Series
級聯操做
接下來咱們僞造兩組DataFrame數據。
使用pd.concat()
PS:若是想要保留數據的完整性必須使用參數 join='outer'
(外鏈接)
使用 pd.append()
合併操做
pd.merge()
merge
與 concat
的區別在於,merge
須要依據某一共同列來進行合併。pd.merge()
合併時,會自動根據二者相同 column 名稱的那一列做爲 key 來進行合併。一對一合併
首先咱們來僞造兩組 DataFrame。
使用 pd.merge()
一對多合併
首先咱們來僞造兩組 DataFrame。
使用 pd.merge()
多對多合併
首先咱們來僞造兩組 DataFrame。
使用 pd.merge()
merge()方法還可使用left_on參數和right_on參數哦,how這個參數也能夠指定不一樣的鏈接方式。
爲何在數據分析中須要用到浮點類型的空而不是對象類型的?
None+1
會報 TypeError
,而 np.nan+1
結果是 nan
。它不會干擾或者中斷運算。在Pandas中若是數據中遇到了None形式的空值則Pandas會將其強轉成NaN的類型。
缺失值處理操做
咱們來僞造一組帶有缺失值的數據。
方法1:對缺失值進行過濾(刪除空所在的行數據)
isnull()
搭配 any()
notnull()
搭配 all()
使用 dropna()
能夠直接將缺失的行或者列數據進行刪除
方法2:fillna()
對缺失值進行填充
咱們來僞造一組帶有重複值的數據。
使用drop_duplicates()
異常值是什麼?
接下來咱們僞造一組帶有異常值的數據。
而後咱們來實現異常值的清洗。
to_replace=15, value='value'
to_replace={列標籤: 替換值}, value='value'
to_replace=[], value=[]
to_replace={to_replace: value, to_replace: value}
首先咱們來僞造一組DataFrame。
使用 replace()
首先咱們來僞造一組DataFrame。
使用
map()
例:超過3000部分的薪資繳納50%的稅,計算每一個人的稅後薪資
groupby()
函數groups
屬性查看分組狀況分組
接下里咱們僞造一組DataFrame。
使用
groupby()
和 groups
聚合
高級數據聚合
groupby()
分組後,也可使用 transform()
和 apply()
提供自定義函數實現更多的運算df.groupby('item')['price'].sum()
<==> df.groupby('item')['price'].apply(sum)
transform()
和 apply()
都會進行運算,在 transform()
或者 apply()
中傳入函數便可transform()
和 apply()
也能夠傳入一個 lambda
表達式首先咱們倒入全局的模塊
還有其餘多種參數的樣式哦,詳情請見庫的源代碼。
其他用法和線形圖相似。
plt.hist()的參數
bins
:能夠是一個bin數量的整數值,也能夠是表示bin的一個序列。默認值爲10normed
:若是值爲True,直方圖的值將進行歸一化處理,造成機率密度,默認值爲Falsecolor
:指定直方圖的顏色。能夠是單一顏色值或顏色的序列。若是指定了多個數據集合,例如DataFrame對象,顏色序列將會設置爲相同順序。若是未指定,將會使用一個默認的線條顏色orientation
:經過設置 orientation
爲 horizontal
建立水平直方圖。默認值爲 vertical
其他用法和線形圖相似。
pie()
,餅圖也只有一個參數 x其他用法和線形圖相似。
scatter()
, 因變量隨自變量而變化的大體趨勢其他用法和線形圖相似。
PS:歡迎提出寶貴意見,如想詢問技術問題能夠留言區留言或加開發人員的微信(微信號:x118422)進行諮詢~