Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本中文字幕在线播放,国产精品不卡,九九视频在线观看6

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          寄存器PLC地址與寄存器modbus協(xié)議地址

          寄存器PLC地址與寄存器modbus協(xié)議地址

          存器PLC地址指存放于控制器中的地址,這些控制器可以是PLC,也可以是觸摸屏,或是文本顯示器。PLC地址一般采用10進(jìn)制描述,共有5位,其中第一位代碼寄存器類型。第一位數(shù)字和寄存器類型的對(duì)應(yīng)關(guān)系如表1所示。PLC地址例如40001、30002等。

          寄存器modbus協(xié)議地址指通信時(shí)使用的寄存器地址,在實(shí)際編程中,由于寄存器PLC地址前綴的區(qū)分作用,所以只需說明后4位數(shù),而且需轉(zhuǎn)換為4位十六進(jìn)制地址。例如PLC地址40001對(duì)應(yīng)尋址地址0x0000,40002對(duì)應(yīng)尋址地址0x0001,寄存器尋址地址一般使用16進(jìn)制描述。再如,PLC寄存器地址40003對(duì)應(yīng)協(xié)議地址0002,PLC寄存器地址30003對(duì)應(yīng)協(xié)議地址0002。在實(shí)際編程中,由于前綴的區(qū)分作用,所以只需說明后4位數(shù),而且需轉(zhuǎn)換為4位十六進(jìn)制地址。

          支持 Modbus 協(xié)議的設(shè)備或軟件,使用時(shí)用戶直接設(shè)置或看到的應(yīng) 當(dāng)是 Modbus 數(shù)據(jù)地址。Modbus 地址所訪問的數(shù)據(jù),是通過各種 “功能”讀寫而來。 功能碼是 Modbus 地址的底層。 如果 Modbus 通 信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此 功能號(hào)與 Modbus 地址間的對(duì)應(yīng)關(guān)系。

          使用 modbus 地址時(shí)應(yīng)注意下述問題:

          1)40001~4xxxx 是美國(guó) modicon 公司和 ge 公司 plc 使用的 modbus 地址,它是基于1的地址,即同類元件的首地址為1。西門子 plc 的 modbus 地址是基于0的地址。

          2)美國(guó)的 modbus 地址左起第2位用來表示元件的類型,例如 i0.0的 modbus 地址為010001。 因?yàn)閿?shù)據(jù)類型已經(jīng)包含在功能碼中了, 西門子的 i0.0的 modbus 地址實(shí)際上為000000, i2.0的 modbus 地址為 000016(或十六進(jìn)制數(shù)16#0010) ,而不是010017。

          3)、無論V寄存器還是M寄存器,里面的不同數(shù)據(jù)類型(VB、VW、VD、MB、MW、MD)都是基于寄存器內(nèi)存總字節(jié)地址為偏移地址。

          4)、在數(shù)據(jù)報(bào)文中,所有的modbus地址都是從0開始的。也就是首次出現(xiàn)的數(shù)據(jù)項(xiàng)在報(bào)文中的地址為0。比如:(All data addresses in Modbus messages are referenced to zero. The first occurrence of a data item is addressed as item number zero.)

          5)、Modbus地址實(shí)際上分為兩種情況。

          第一種情況:PLC作Modbus主站,Modbus地址和PLC手冊(cè)里的地址一致,例如作主站的S7-200的MBUS_MSG指令用于向Modbus從站發(fā)送請(qǐng)求消息,和處理從站返回的響應(yīng)消息。要讀取從站(另一臺(tái)S7-200)的I0.0開始的地址區(qū)時(shí),它的輸入?yún)?shù)Addr(Modbus地址)為10001。S7-200從站保持寄存器的V區(qū)起始地址為VB200時(shí),要讀取從站VW200開始的V存儲(chǔ)區(qū)時(shí),保持寄存器的地址是40001。

          第二種情況:PLC作從站,PLC不用管什么Modbus地址,等著主站來讀寫它的地址區(qū)就是了。

          主站的計(jì)算機(jī)軟件(例如DCS或組態(tài)軟件)的編程人員需要編寫實(shí)現(xiàn)Modbus通信的程序,首先需要確定Modbus RTU的報(bào)文結(jié)構(gòu)。他們一般不熟悉PLC,因此PLC的編程人員往往需要和上位機(jī)軟件的編程人員一起來討論Modbus的報(bào)文結(jié)構(gòu)。

          最容易出問題的就是報(bào)文里Modbus地址與PLC存儲(chǔ)區(qū)地址的對(duì)應(yīng)關(guān)系。

          S7 PLC手冊(cè)給出的Modbus地址與Modicon公司和GE公司PLC使用的地址相同,是基于1的地址,即同類元件的首地址為1。而西門子PLC采用的是基于0的地址,即同類元件的首地址為0。Modbus報(bào)文中西門子PLC的Modbus地址也采用基于0的地址。

          PLC系統(tǒng)手冊(cè)中的Modbus地址的最高位用來表示地址區(qū)的類型,例如I0.0的Modbus地址為10001。因?yàn)榈刂穮^(qū)類型的信息已經(jīng)包含在報(bào)文的功能碼中了,報(bào)文中S7-200的I0.0的Modbus地址不是10001,而是0。報(bào)文中其他地址區(qū)的Modbus地址也應(yīng)按相同的原則處理。例如當(dāng)S7-200從站保持寄存器的V區(qū)起始地址為VB200時(shí),VW200對(duì)應(yīng)的保持寄存器在報(bào)文中的Modbus地址為0,而不是40001。

          施耐德plc modbus地址對(duì)照表

          000001至000XXX是實(shí)際輸出,對(duì)應(yīng)%QX0.0-%QXX.X

          010001至010XXX是實(shí)際輸入,對(duì)應(yīng)%IX0.0-%IXX.X

          030001至030032是模擬量寄存器,對(duì)應(yīng)%AIW0,16位一路依次類推

          040001至040XXX是保持寄存器,對(duì)應(yīng)%MX0.0-%MXX.X,1對(duì)1,要是%MW就對(duì)應(yīng)16位,依次類推。施耐德PLC中 W表示字 16位,D表示雙字 32位。比如:%MW10和%MD10。B表示字節(jié) 8位,X表示位。比如:%MB0和%MX0.0~%MX0.7

          %MW10.4

          %MW10是指一個(gè)字,一個(gè)字分為2個(gè)字節(jié),一個(gè)字節(jié)8個(gè)位,也就是說%MW10中有16個(gè)位,從%MW10.0~%MW10.15。

          %QW0.5.1.0.10

          Q是輸出 ,0是機(jī)架,5是0號(hào)機(jī)架的第五個(gè)模塊,1是第五號(hào)模塊的第一個(gè)通道,0是第一個(gè)通道的第0個(gè)字,10是第0個(gè)字的第10個(gè)位。

          無論MX、MB、MW、MD都是基于內(nèi)存總字節(jié)地址為偏移地址,也就是以%MB之后的地址為偏移地址。

          施耐德plc寄存器地址對(duì)應(yīng)的modubs地址

          寄存器地址 modubs 說明 公式

          %QX1.0 000001.0 開關(guān)量輸出 %QXx.y=000001+x.y

          %IX1.0 010001.0 開關(guān)量輸入 %IXx.y=010001+x.y

          %AIW0 030001 模擬量輸入 %AIWx=030001+x

          %MD40 0400801 保持寄存器 %MDx.y=040001+x*2.y

          %MW50.0 040051.0 保持寄存器 %MWx.y=040001+x.y

          %MX100.0 040051.0 保持寄存器 %MXx.y=040001+x/2.y

          注意:

          1、%MX100.0表示某個(gè)字節(jié)地址,因?yàn)?MW50這個(gè)地址中包含了%MB100、%MB101,%MX100.0其實(shí)是%MW50的第0位即40051.0

          2、%MD40表示雙字,%MD40對(duì)應(yīng)的首地址是%MW*2,也就是%MW80,%MD40對(duì)應(yīng)的modbus地址為0400801


          西門子s7系列plc modbus地址對(duì)照表

          例如:地址:40040;對(duì)應(yīng)S7200地址:VW78;對(duì)應(yīng)S7300地址:DB1.DBW78;

          三菱FX系列PLC modbus地址對(duì)照表

          OMRON PLC地址轉(zhuǎn)MODBUS協(xié)議對(duì)照表

          將OMRON PLC接入支持MODBUS協(xié)議的上位DCS系統(tǒng)中,通過ASC模塊可滿足用戶的這一需求。具體地址對(duì)照關(guān)系參考下面鏈接。

          https://wenku.baidu.com/view/3ff1d16da5e9856a5712601d.html

          臺(tái)達(dá)PLC寄存器地址與Modbus寄存器地址對(duì)照表

          具體地址對(duì)照關(guān)系參考下面鏈接。

          https://wenku.baidu.com/view/f884db6d102de2bd97058836.html

          永宏P(guān)LC寄存器Modbus地址表

          具體地址對(duì)照關(guān)系參考下面鏈接。

          https://wenku.baidu.com/view/4843e77c30126edb6f1aff00bed5b9f3f90f72c8.html

          信捷PLC寄存器Modbus地址表

          文本標(biāo)記語言(HTML)是用于在 Internet 上顯示 Web 頁面的主要標(biāo)記語言。換句話說,網(wǎng)頁由 HTML 組成,用于通過 Web 瀏覽器顯示文本,圖像或其他資源

          使用標(biāo)記來描述文檔結(jié)構(gòu)和表現(xiàn)形式并通過瀏覽器進(jìn)行解析,然后把結(jié)果顯示在網(wǎng)頁上. 它是網(wǎng)頁構(gòu)成的基礎(chǔ),你見到的所有網(wǎng)頁都離不開HTML,所以學(xué)習(xí)HTML是基礎(chǔ)中的基礎(chǔ)。


          什么是HTML


          HTML是用來制作網(wǎng)頁的標(biāo)記語言

          HTML是Hypertext MarkupLanguage的英文縮寫, 即超文本標(biāo)記語言

          HTML語言是一種標(biāo)記語言,不需要編譯,直接由瀏 HTML語言是一種標(biāo)記語言,不需要編譯,直接由瀏覽器執(zhí)行

          HTML文件是一個(gè)文本文件,包含了一些HTML元素, HTML文件是一個(gè)文本文件,包含了一些HTML元素,標(biāo)簽等.

          HTML文件必須使用html或htm為文件名后綴

          HTML是大小寫不敏感的,HTML與html是一樣的


          HtmlCSS的關(guān)系


          學(xué)習(xí)web前端開發(fā)基礎(chǔ)技術(shù)需要掌握:HTML、CSS、JavaScript語言。下面我們就來了解下這三門技術(shù)都是用來實(shí)現(xiàn)什么的:


          1. HTML是網(wǎng)頁內(nèi)容的載體。內(nèi)容就是網(wǎng)頁制作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。

          2. CSS樣式是表現(xiàn)(外觀控制)。就像網(wǎng)頁的外衣。比如,標(biāo)題字體、顏色變化,或?yàn)闃?biāo)題加入背景圖片、邊框等。所有這些用來改變內(nèi)容外觀的東西稱之為表現(xiàn)。

          3. JavaScript是用來實(shí)現(xiàn)網(wǎng)頁上的特效效果。如:鼠標(biāo)滑過彈出下拉菜單。或鼠標(biāo)滑過表格的背景顏色改變。還有焦點(diǎn)新聞(新聞圖片)的輪換。可以這么理解,有動(dòng)畫的,有交互的一般都是用JavaScript來實(shí)現(xiàn)的。

          HTML形象案例理解


          為了簡(jiǎn)化對(duì)復(fù)雜Internet的理解,暫時(shí)把復(fù)雜的Internet抽象成:向女生宿舍發(fā)送信號(hào)。

          為了能夠在斷網(wǎng)后繼續(xù)聯(lián)絡(luò)女神,我們買來了電池和開關(guān),然后拉了普通電線線到女神的寢室。女神把小燈泡接在了電線的兩端。

          這時(shí)只需要開閉開關(guān),就可以控制女神屋里的燈泡了。

          發(fā)送信號(hào)

          關(guān)閉著小燈泡1秒鐘,代表發(fā)送一個(gè)0。

          打開了小燈泡1秒鐘,代表發(fā)送一個(gè)1。

          此時(shí)可以向女神發(fā)送任意二進(jìn)制內(nèi)容了。

          發(fā)送文本

          我們只希望發(fā)送一個(gè)“Good Night”。所以必須想辦法對(duì)“Good Night”進(jìn)行編碼。

          'G','o','o','d'的ASCII編碼是:071,111,111,100,轉(zhuǎn)換成二進(jìn)制就是:0100 0001 0110 1111 0110 1111 0110 0100

          使用發(fā)送二進(jìn)制信號(hào)的方法發(fā)過去,女神需要自己解碼來閱讀出“Good”。


          發(fā)送富文本

          有一天,我們希望發(fā)送“I miss you”。

          為了表達(dá)心意,你希望加粗“you”,并使用紅色的字體發(fā)送“miss”,而這一根簡(jiǎn)陋的電線似乎很難理解“加粗”和“紅色”

          于是機(jī)智的我們發(fā)送了:I <red>miss</red> <b>you</b>

          同樣機(jī)智的女神理解了這件事情。


          你發(fā)明了一種語言

          我們很喜歡這種編碼格式,這是一種標(biāo)記語言,于是我們稱其為:TGML (To Girl Markup Language)

          平時(shí)你使用TGML來和你的女神通信,TGML可以非常好的解決富文本的傳輸問題。

          表白

          終于決定表白了,我們繪制了很美麗的心形圖片,還有兩個(gè)按鈕:接受、拒絕。

          兩個(gè)按鈕分別會(huì)鏈接到 "接受.tgml"和"拒絕.tgml"

          為了描述圖片,我們使用了<img src="pic">

          為了描述按鈕,我們使用了<a href="接受.tgml">

          現(xiàn)在發(fā)送給女神的內(nèi)容,已經(jīng)不只是帶格式的富文本,而是帶鏈接的富文本。

          于是在這個(gè)世界上,擁有了一種能夠描述超文本的語言,叫做TGML

          超文本

          描述超文本的方式有很多,例如:HTML,TGML,還有markdown。HTML的誕生是為了描述超文本。

          超文本的用途也很多,例如:描述一個(gè)網(wǎng)頁,或者描述一個(gè)Word文檔。HTML文件是超文本文件。但是超文本未必是HTML。

          Microsoft Word

          Microsoft Word是Office的一個(gè)組件。它同樣代表一個(gè)超文本資源。

          如果你解壓一個(gè)docx文件并仔細(xì)翻一翻,你能找到你剛才寫的作業(yè),是以HTML方式記載著。

          當(dāng)然,描述超文本還有markdown。所以你可以使用一些工具,比如pandoc,把markdown轉(zhuǎn)換成word。


          故事的結(jié)局

          女神的名字叫瀏覽器,我們的名字叫Web服務(wù)器,女神和我們中間的那根線叫HTTP。

          eb爬取是從Web上收集和解析數(shù)據(jù)的過程。Python社區(qū)已經(jīng)開發(fā)出一些非常強(qiáng)大的web爬取工具。其中,Pandas read_html()是從html表中爬取數(shù)據(jù)的一種快速方便的方法。

          在本文中,你將學(xué)習(xí)Pandas read_html()來處理以下常見問題,并幫助你進(jìn)行web爬取。

          1.從字符串讀取表

          2.從URL讀取表

          3.從文件讀取表

          4.使用parse_dates分析日期列

          5.使用converters顯式轉(zhuǎn)換類型

          6.多索引、標(biāo)題和索引列

          7.用match匹配表

          8.使用屬性篩選表

          9.使用缺失值

          請(qǐng)檢查Notebook的源代碼(https://github.com/BindiChen/machine-learning/blob/master/data-analysis/024-pandas-read_html/pandas-read_html.ipynb)。


          1.從字符串中讀取表

          在第一個(gè)示例中,我們將從字符串中讀取HTML表。

          html_string="""
          <table>
           <thead>
           <tr>
           <th>date</th>
           <th>name</th>
           <th>year</th>
           <th>cost</th>
           <th>region</th>
           </tr>
           </thead>
           <tbody>
           <tr>
           <td>2020-01-01</td>
           <td>Jenny</td>
           <td>1998</td>
           <td>0.2</td>
           <td>South</td>
           </tr>
           <tr>
           <td>2020-01-02</td>
           <td>Alice</td>
           <td>1992</td>
           <td>-1.34</td>
           <td>East</td>
           </tr>
           <tr>
           <td>2020-01-03</td>
           <td>Tomas</td>
           <td>1982</td>
           <td>1.00023</td>
           <td>South</td>
           </tr>
           </tbody>
          </table>
          """

          要從字符串中讀取表,請(qǐng)執(zhí)行以下操作:

          dfs=pd.read_html(html_string)

          現(xiàn)在,我們得到的結(jié)果不是Pandas數(shù)據(jù)幀而是Python列表。如果使用type()函數(shù),可以看到:

          >>> type(dfs)
          list

          如果要獲取表,可以使用索引訪問它:

          dfs[0]

          結(jié)果看起來很棒。讓我們看看dfs[0].info()的數(shù)據(jù)類型。默認(rèn)情況下,數(shù)值列被轉(zhuǎn)換為數(shù)值類型,例如,year和cost列分別被轉(zhuǎn)換為int64和float64。

          >>> df[0].info()
          
          RangeIndex: 3 entries, 0 to 2
          Data columns (total 5 columns):
           # Column Non-Null Count Dtype 
          --- ------ -------------- ----- 
           0 date 3 non-null object 
           1 name 3 non-null object 
           2 year 3 non-null int64 
           3 cost 3 non-null float64
           4 region 3 non-null object 
          dtypes: float64(1), int64(1), object(3)
          memory usage: 248.0+ bytes

          2.從URL讀取表

          Pandas read_html()接受URL。讓我們通過一個(gè)例子來看看這是如何工作的。

          URL='https://en.wikipedia.org/wiki/London'
          
          dfs=pd.read_html(URL)

          與從字符串讀取相同,它返回一個(gè)數(shù)據(jù)幀列表。如果我們運(yùn)行l(wèi)en(dfs),我們可以從給定的URL得到31個(gè)表。

          >>> print(f'Total tables: {len(dfs)}')
          31

          下面是dfs[6]的一個(gè)例子:


          3.從文件讀取表

          Pandas read_html()接受一個(gè)文件。讓我們通過一個(gè)例子來看看這是如何工作的。

          file_path='html_string.txt'
          with open(file_path, 'r') as f:
           dfs=pd.read_html(f.read())
          
          dfs[0]

          注意:以下教程將從字符串中讀取數(shù)據(jù),因?yàn)殡S著時(shí)間的推移,網(wǎng)頁內(nèi)容可能變更。


          4.使用parse_dates分析日期列

          日期列作為對(duì)象數(shù)據(jù)類型讀取。要正確讀取日期列,可以使用參數(shù)parse_dates指定日期列的列表。

          >>> dfs=pd.read_html(html_string, parse_dates=['date'])
          >>> dfs[0].info()
          
          RangeIndex: 3 entries, 0 to 2
          Data columns (total 5 columns):
           # Column Non-Null Count Dtype 
          --- ------ -------------- ----- 
           0 date 3 non-null datetime64[ns]
           1 name 3 non-null object 
           2 year 3 non-null int64 
           3 cost 3 non-null float64 
           4 region 3 non-null object 
          dtypes: datetime64[ns](1), float64(1), int64(1), object(2)
          memory usage: 248.0+ bytes

          5.使用converters顯式轉(zhuǎn)換類型

          默認(rèn)情況下,數(shù)值列被轉(zhuǎn)換為數(shù)值類型,例如,我們看到的year和cost列。但并非所有的數(shù)字文本數(shù)據(jù)都必須是數(shù)字類型,例如,所有值都以零開頭的ID列。

          ID=0001

          此外,有時(shí)可能需要顯式地進(jìn)行類型轉(zhuǎn)換以確保數(shù)據(jù)類型的完整性。對(duì)于這些要求,我們可以使用參數(shù)轉(zhuǎn)換器顯式地進(jìn)行類型轉(zhuǎn)換:

          dfs=pd.read_html(html_string, converters={
           'ID': str,
           'year': int,
           'cost': float,
          })

          6.多索引、標(biāo)題和索引列

          默認(rèn)情況下,位于<thead>中的<th>或<td>元素用于形成列索引,如果<thead>中包含多行,則創(chuàng)建一個(gè)多索引。

          下面是一個(gè)在<thead>中包含多行的HTML表的示例。

          html_string="""
          <table>
           <thead>
           <tr>
           <th colspan="5">Year 2020</th>
           </tr>
           <tr>
           <th>date</th>
           <th>name</th>
           <th>year</th>
           <th>cost</th>
           <th>region</th>
           </tr>
           </thead>
           <tbody>
           <tr>
           <td>2020-01-01</td>
           <td>Jenny</td>
           <td>1998</td>
           <td>1.2</td>
           <td>South</td>
           </tr>
           <tr>
           <td>2020-01-02</td>
           <td>Alice</td>
           <td>1992</td>
           <td>-1.34</td>
           <td>East</td>
           </tr>
           </tbody>
          </table>
          """

          它創(chuàng)建多重索引,因?yàn)?lt;thead>中有多行。

          dfs=pd.read_html(html_string)
          dfs[0]

          指定標(biāo)題行:

          dfs=pd.read_html(html_string, header=1)
          dfs[0]

          指定索引列:

          dfs=pd.read_html(html_string, header=1, index_col=0)
          dfs[0]

          7.用match匹配表

          參數(shù)匹配采用字符串或正則表達(dá)式。該值默認(rèn)為.+(匹配任何非空字符串),并將返回所有表。

          我們通過一個(gè)例子來看看這是如何工作的。

          html_string="""
          <table id="report">
           <caption>2020 report</caption>
           <thead>
           <tr>
           <th>date</th>
           <th>name</th>
           </tr>
           </thead>
           <tbody>
           <tr>
           <td>2020-01-01</td>
           <td>Jenny</td>
           </tr>
           <tr>
           <td>2020-01-02</td>
           <td>Alice</td>
           </tr>
           </tbody>
          </table>
          
          <table>
           <caption>Average income</caption>
           <thead>
           <tr>
           <th>name</th>
           <th>income</th>
           </tr>
           </thead>
           <tbody>
           <tr>
           <td>Tom</td>
           <td>200</td>
           </tr>
           <tr>
           <td>James</td>
           <td>300</td>
           </tr>
           </tbody>
          </table>
          """

          要讀取包含特定文本的表:

          # 標(biāo)題中的文本
          dfs=pd.read_html(html_string, match='2020 report')
          
          # 表格單元格中的文本
          dfs=pd.read_html(html_string, match='James')

          8.使用屬性篩選表

          參數(shù)attrs接受任何有效的HTML標(biāo)記屬性的字典來篩選表。例如:

          dfs=pd.read_html(html_string, attrs={'id': 'report'})

          id是有效的HTML標(biāo)記屬性。


          9.使用缺失值

          默認(rèn)情況下,所有空字符串都被視為缺失值,并作為NaN讀取。

          下面是一個(gè)HTML表格的示例,其中的< td >單元格中有一些空字符串。

          html_string="""
          <table>
           <tr>
           <th>date</th>
           <th>name</th>
           <th>year</th>
           <th>cost</th>
           <th>region</th>
           </tr>
           <tr>
           <td>2020-01-01</td>
           <td>Jenny</td>
           <td>1998</td>
           <td>1.2</td>
           <td>South</td>
           </tr>
           <tr>
           <td>2020-01-02</td>
           <td>Alice</td>
           <td>1992</td>
           <td></td>
           <td>East</td>
           </tr>
           <tr>
           <td>2020-01-03</td>
           <td>Tomas</td>
           <td>1982</td>
           <td></td>
           <td>South</td>
           </tr>
          </table>
          """

          以默認(rèn)設(shè)置讀取。

          dfs=pd.read_html(html_string)
          dfs[0]

          為了保留這些空字符串,我們可以將參數(shù)keep_default_na設(shè)置為False。

          dfs=pd.read_html(html_string, keep_default_na=False)

          有時(shí),對(duì)于缺少的值,你可能有其他字符表示法。如果我們知道什么類型的字符用作表中的缺失值,我們可以使用na_values參數(shù)處理它們:

          dfs=pd.read_html(html_string, na_values=['?', '&'])

          當(dāng)數(shù)據(jù)幀已經(jīng)創(chuàng)建好后,我們可以使用pandas replace()函數(shù)來處理這些值:

          df_clean=dfs[0].replace({ "?": np.nan, "&": np.nan })

          結(jié)論

          Pandas read_html()函數(shù)是一種快速方便地從html表中獲取數(shù)據(jù)的方法。

          我希望本文能幫助你節(jié)省從HTML表中刪除數(shù)據(jù)的時(shí)間。建議你查看read_html()API的文檔,并了解可以做的其他事情。

          謝謝你的閱讀。請(qǐng)查看Notebook的源代碼,如果你對(duì)機(jī)器學(xué)習(xí)的實(shí)際方面感興趣,請(qǐng)繼續(xù)關(guān)注:https://github.com/BindiChen/machine-learning/blob/master/data-analysis/024-pandas-read_html/pandas-read_html.ipynb。


          主站蜘蛛池模板: 久久久精品一区二区三区| 欧亚精品一区三区免费| 国内精品视频一区二区八戒| 国精产品一区一区三区| 美女视频免费看一区二区| 无码少妇一区二区浪潮免费| 一区二区在线免费观看| 日韩精品无码一区二区三区四区| 一区二区三区在线播放视频| 国产日韩视频一区| 秋霞日韩一区二区三区在线观看 | 国产av熟女一区二区三区| 日韩社区一区二区三区| 福利电影一区二区| 色多多免费视频观看区一区| 日本v片免费一区二区三区 | 日本中文字幕在线视频一区| 夜夜精品视频一区二区 | 久久精品国产一区二区三| 中文字幕精品亚洲无线码一区 | 日本一区二区三区精品中文字幕| 久久亚洲中文字幕精品一区四| 久久亚洲中文字幕精品一区四| 国产福利电影一区二区三区,亚洲国模精品一区 | 日韩免费一区二区三区| 欧美激情国产精品视频一区二区| 国精产品一区一区三区有限在线| 日韩精品午夜视频一区二区三区| 国产精品一区二区久久沈樵| 内射一区二区精品视频在线观看| 成人免费视频一区二区| 国产无套精品一区二区| 日韩精品一区二区三区中文| 中文字幕无线码一区2020青青| 无码人妻精品一区二区蜜桃 | 亚洲欧美日韩中文字幕在线一区 | 国产一区二区三区内射高清| 无码精品人妻一区二区三区免费 | 人妻AV一区二区三区精品| 亚洲一区二区三区高清在线观看| 精品日韩一区二区三区视频|