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

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

系統 1681 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條評論
主站蜘蛛池模板: 麦盖提县| 奉化市| 河东区| 山阳县| 蓬莱市| 兴海县| 肃南| 新河县| 信丰县| 固始县| 五莲县| 平和县| 徐汇区| 鄂伦春自治旗| 辽阳市| 祁连县| 江达县| 桦南县| 镇巴县| 耒阳市| 东阿县| 广宗县| 安阳县| 涞源县| 高碑店市| 六盘水市| 布尔津县| 金华市| 新化县| 北宁市| 柳林县| 桐城市| 肥城市| 长寿区| 宕昌县| 饶阳县| 普宁市| 宣恩县| 东山县| 大厂| 岗巴县|