日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

《Python3爬蟲、數據清洗和可視化實戰》之閱讀不懂處、主要代碼總結(9章)

系統 1760 0

《Python3爬蟲、數據清洗和可視化實戰》

零一 韓要賓 黃園園 著


第九章:pandas數據清理

9.1 數據讀寫、選擇、整理和描述

Pandas是用來數據清洗的Python庫,由于它的依賴庫很多,所以建議還是下載anaconda,里面內置了相關庫。

9.1.1 讀取CSV數據

            
              df = pd.read_csv(“csv_path”,delimiter=”,”,encoding=””)   

            
          

參數說明:
“csv_path”,CSV文件路徑;delimiter=”,”:分隔方式;encoding=””:文件編碼格式。

9.1.2 向CSV寫入數據

            
              df.to_csv(“csv_path”,columns=[‘value1’,’value2’],index=False,header=True)	

            
          

參數說明:
“csv_path”文件路徑,columns=[‘value1’,’value2’]:需要寫入的數據,index=False:將DataFrame保存成文件,并忽略索引信息(True為默認值,保存索引信息),header=True

查看表中的描述性統計信息

            
              df.describe()

            
          

9.2 數據分組,分割,合并和變形

9.2.1數據分組

Groupby:

            
              Means = df[“成交量”].groupby(df[“成交量”],df[“賣家”]).mean()
>>>Means

            
          

size方法:返回一個含有各個分組大小的Series

9.2.2數據分割

            
              df1=df[30:40][[‘位置’,’賣家’]]	

#df1中包含第30-39行數據

            
          

9.2.3數據合并

Pandas包含三種內置的合并數據集方法:

Pandas.merge 根據一個或多個鍵將多個DataFrame連接起來
Pandas.concat 可以沿著一個軸將多個對象堆疊起來
Combine_first 可以將重疊部分合并,用以填充缺失部分
            
              Pandas.merge(df1,df2,on=” Column_name”,how=”inner/outer/left”,left_index=True,right_index=true)

            
          

參數說明:
On:合并相同列名的列,默認會選擇相同列名。
How:包含inner(內連接),outer(外連接),left(左連接),right(右連接)

內連接 兩個表中相同數據合并輸出
外連接 兩個表中全部數據合并輸出
左連接 以左邊表(df1)為基礎,添加df1中沒有的行屬性(從df2中找新數據)
左連接 以右邊表(df2)為基礎,添加df2中沒有的行屬性(從df1中找新數據)

left_index:將左邊表(df1)索引作為連接鍵
right_index:將右邊表(df2)索引作為連接鍵(df1.join(df2):join方法同樣可以將索引作為連接鍵使用)

Pandas.concat([s1,s2,s3]) #沿著s1,s2,s3的軸合并在一起

9.2.4 數據變形

Data.stack()方法:將Data的列轉換為行
Data.unstack()方法:將Data的行轉換為列


9.3 缺失值、異常值和重復值處理

9.3.1 缺失值處理

查看缺失值: df1.isnull()
刪除行: df1.dropna()
代替缺失值: df1.fillna(“代替值”)
df1.fillna(method=”pad/bfill”,limit=1) #pad使用前一個同屬性的數據代替空值;fill使用后一個同屬性的數據代替空值;limit表示每列代替空值的數目

9.3.3 移除重復值

判斷是否存在重復值: df1.duplicated()
刪除重復數據: df1.drop_duplicates()

9.4 時序數據處理

9.4.1 日期/時間數據轉換

            
              import time 
>>>Time.time()							#輸出系統時間戳
>>>time.localtime()						#輸出系統時間
>>>time.mktime(time.localtime())		#將系統時間轉化為時間戳

            
          

9.4.2 時序數據基礎操作

            
              import datetime
import numpy as np
import pandas as pd

#periods表示輸出幾天(從2019-05-17開始計算);freq表示按照什么單位生成序列(M/D/H:月/天/小時)
Pd.date_range(“2019-05-17”,periods=31,freq=”M/D/H”)

            
          

"Life's a mixed bag, no matter who you are."--《About Time》


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 张北县| 光泽县| 衡山县| 讷河市| 疏附县| 房山区| 永平县| 南城县| 出国| 得荣县| 德清县| 岐山县| 乾安县| 樟树市| 武山县| 松滋市| 德令哈市| 浏阳市| 西和县| 且末县| 三江| 阿坝| 绥德县| 昭通市| 昭苏县| 洛隆县| 兰州市| 兴安县| 沙洋县| 通山县| 壶关县| 三河市| 灵武市| 莲花县| 长子县| 洞口县| 青铜峡市| 云浮市| 沧州市| 濮阳市| 昌平区|