欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中如何使用正則表達(dá)式提取數(shù)據(jù)

 更新時(shí)間:2023年02月06日 14:16:21   作者:公子清羽  
這篇文章主要介紹了python中如何使用正則表達(dá)式提取數(shù)據(jù)問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。

re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。

compile 函數(shù)可創(chuàng)建一個(gè)模式字符串和可選的標(biāo)志參數(shù)組成的一個(gè)正則表達(dá)式對(duì)象。該對(duì)象擁有一系列方法用于正則表達(dá)式匹配和替換。

re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個(gè)模式字符串做為它們的第一個(gè)參數(shù)。

模式描述
^匹配字符串的開(kāi)頭
$匹配字符串的末尾。
.匹配任意字符,除了換行符,當(dāng)re.DOTALL標(biāo)記被指定時(shí),則可以匹配包括換行符的任意字符。
[...]用來(lái)表示一組字符,單獨(dú)列出:[amk] 匹配 'a','m'或'k'
[^...]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
re**匹配0次或多次。貪婪方式,re代表正則表達(dá)式
re++匹配1次或多次。
re??匹配0次或1次,非貪婪方式,匹配0次指表達(dá)式后面為空的也匹配
re{ n}連續(xù)匹配 n 個(gè)前面表達(dá)式。例如, o{2},連續(xù)匹配兩次o, 不能匹配 "Bob" 中的 "o",但是能匹配 "food" 中的兩個(gè) o。
re{ n,}匹配 n 個(gè)前面表達(dá)式。例如, o{2,} 不能匹配"Bob"中的"o",但能匹配 "foooood"中的所有 o。"o{1,}" 等價(jià)于 "o+"。"o{0,}" 則等價(jià)于 "o*"。
re{ n, m}表示匹配 連續(xù)的 前面的表達(dá)式 至少n次,至多 m 次。表達(dá)式 油{3,4} 就表示匹配 連續(xù)的 油 字 至少3次,至多 4 次
a| b匹配a或b
(re)對(duì)正則表達(dá)式分組并記住匹配的文本

常用正則表達(dá)式實(shí)例

字符匹配

實(shí)例描述
python匹配 "python".

字符類(lèi)

實(shí)例描述
[Pp]ython匹配 "Python" 或 "python"
rub[ye]匹配 "ruby" 或 "rube"
[aeiou]匹配中括號(hào)內(nèi)的任意一個(gè)字母
[0-9]匹配任何數(shù)字。類(lèi)似于 [0123456789]
[a-z]匹配任何小寫(xiě)字母
[A-Z]匹配任何大寫(xiě)字母
[a-zA-Z0-9]匹配任何字母及數(shù)字
[^aeiou]除了aeiou字母以外的所有字符
[^0-9]匹配除了數(shù)字外的字符

特殊字符類(lèi)

實(shí)例描述
.匹配除 "\n" 之外的任何單個(gè)字符。要匹配包括 '\n' 在內(nèi)的任何字符,請(qǐng)使用象 '[.\n]' 的模式。
\d匹配一個(gè)數(shù)字字符。等價(jià)于 [0-9]。
\D匹配一個(gè)非數(shù)字字符。等價(jià)于 [^0-9]。
\s匹配任何空白字符,包括空格、制表符、換頁(yè)符等等。等價(jià)于 [ \f\n\r\t\v]。
\S匹配任何非空白字符。等價(jià)于 [^ \f\n\r\t\v]。
\w匹配包括下劃線的任何單詞字符。等價(jià)于'[A-Za-z0-9_]'。
\W匹配任何非單詞字符。等價(jià)于 '[^A-Za-z0-9_]'。

re.match只匹配字符串的開(kāi)始,如果字符串開(kāi)始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回None;而re.search匹配整個(gè)字符串,直到找到第一個(gè)匹配。

# re.match()函數(shù)只能從起始的位置匹配,否則返回None
import re
 
matchObj = re.match('www', 'www.runoob.com')
print(re.match('www', 'www.runoob.com').span())  # 在起始位置匹配
print(re.match('com', 'www.runoob.com'))  # 不在起始位置匹配
# (0, 3)
# None
 
# 使用group(num) 或 groups() 函數(shù)來(lái)獲取用來(lái)匹配的正在表達(dá)式提取的值。
if matchObj:
    print("matchObj.group() : ", matchObj.group())
    # 執(zhí)行結(jié)果是matchObj.group() :  www
    # matchObj.group() 等同于 matchObj.group(0),表示匹配到的完整文本字符
    # print ("matchObj.group(1) : ", matchObj.group(1))
    # print ("matchObj.group(2) : ", matchObj.group(2))
 
# re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。
import re
 
line = "Cats are smarter than dogs";
 
searchObj = re.search(r'(.*) are (.*?) ', line, re.M | re.I)
 
if searchObj:
    print("searchObj.group() : ", searchObj.group())
    print("searchObj.group(1) : ", searchObj.group(1))
    print("searchObj.group(2) : ", searchObj.group(2))
# 執(zhí)行結(jié)果
# searchObj.group() :  Cats are smarter
# searchObj.group(1) :  Cats
# searchObj.group(2) :  smarter
 
# re.sub()用于替換字符串中的匹配項(xiàng)
 
import re
 
phone = "2004-959-559 # 這是一個(gè)國(guó)外電話號(hào)碼"
 
# 刪除字符串中的 Python注釋,$匹配字符串的末尾。
# 把匹配到的字符串替換為空字符串
num = re.sub(r'#.*$', "", phone)
print("電話號(hào)碼是: ", num)
# 電話號(hào)碼是:  2004-959-559
# 刪除非數(shù)字(-)的字符串,\D 匹配任意非數(shù)字
num = re.sub(r'\D', "", phone)
print("電話號(hào)碼是 : ", num)
# 電話號(hào)碼是 :  2004959559
"""
findall在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果沒(méi)有找到匹配的,則返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
"""
import re
 
pattern = re.compile(r'\d+')  # 創(chuàng)建個(gè)正著表達(dá)式對(duì)象,查找數(shù)字
result1 = pattern.findall('runoob 123 google 456')
result2 = pattern.findall('run88oob123google456', 0, 10)
result3 = pattern.search('runoob 123 google 456')
# 123 只匹配了一次,匹配首個(gè)符合要求的字符串
 
print(result1)
print(result2)
print(result3.group())
 
# 執(zhí)行結(jié)果:
# ['123', '456']
# ['88', '12']
# 123

re.compile 函數(shù)

compile 函數(shù)用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式( Pattern )對(duì)象,供 match() 和 search() 這兩個(gè)函數(shù)使用。

語(yǔ)法格式為:

import re
pattern = re.compile(r'\d+')  # 用于匹配至少一個(gè)數(shù)字
m = pattern.match('one12twothree34four')  # 查找頭部,沒(méi)有匹配
print(m)
# None
m = pattern.match('one12twothree34four', 2, 10)  # 從'e'的位置開(kāi)始匹配,沒(méi)有匹配
print(m)
# None
m = pattern.match('one12twothree34four', 3, 10)  # 從'1'的位置開(kāi)始匹配,正好匹配
print(m)  # 返回一個(gè) Match 對(duì)象
# <re.Match object; span=(3, 5), match='12'>
print(m.group(0))  # 可省略 0,獲得整個(gè)匹配的子串時(shí),可直接使用 group() 或 group(0);
# '12'
print(m.start(0))  # 可省略 0,獲取分組匹配的子串在整個(gè)字符串中的起始位置(子串第一個(gè)字符的索引),參數(shù)默認(rèn)值為 0;
# 3
print(m.end(0))  # 可省略 0,獲取分組匹配的子串在整個(gè)字符串中的結(jié)束位置(子串最后一個(gè)字符的索引+1),參數(shù)默認(rèn)值為 0;
5
print(m.span(0))  # 可省略 0,返回 (start(group), end(group))。
# (3, 5)

執(zhí)行結(jié)果: 

None
None
<re.Match object; span=(3, 5), match='12'>
12
3
5
(3, 5)

括號(hào)()-分組 

括號(hào)稱之為 正則表達(dá)式的 組選擇。

組 就是把 正則表達(dá)式 匹配的內(nèi)容 里面 其中的某些部分 標(biāo)記為某個(gè)組。

我們可以在 正則表達(dá)式中 標(biāo)記 多個(gè) 組

為什么要有組的概念呢?因?yàn)槲覀兺枰崛∫呀?jīng)匹配的 內(nèi)容里面的 某些部分的信息。

前面,我們有個(gè)例子,從下面的文本中,選擇每行逗號(hào)前面的字符串,也 包括逗號(hào)本身 。

蘋(píng)果,蘋(píng)果是綠色的
橙子,橙子是橙色的
香蕉,香蕉是黃色的

就可以這樣寫(xiě)正則表達(dá)式 ^.*, 。

但是,如果我們要求 不要包括逗號(hào) 呢?

當(dāng)然不能直接 這樣寫(xiě) ^.*

因?yàn)樽詈蟮亩禾?hào) 是 特征 所在, 如果去掉它,就沒(méi)法找 逗號(hào)前面的了。

但是把逗號(hào)放在正則表達(dá)式中,又會(huì)包含逗號(hào)。

解決問(wèn)題的方法就是使用 組選擇符 : 括號(hào)。

我們這樣寫(xiě) ^(.*), ,結(jié)果如下

image

大家可以發(fā)現(xiàn),我們把要從整個(gè)表達(dá)式中提取的部分放在括號(hào)中,這樣 水果 的名字 就被單獨(dú)的放在 組 group 中了。

對(duì)應(yīng)的Python代碼如下

content = '''蘋(píng)果,蘋(píng)果是綠色的
橙子,橙子是橙色的
香蕉,香蕉是黃色的'''
 
import re
p = re.compile(r'^(.*),', re.MULTILINE)
for one in  p.findall(content):
    print(one)

多個(gè)分組時(shí),怎么取每個(gè)分組的值。

比如,我們要從下面的文本中,提取出每個(gè)人的 名字 和對(duì)應(yīng)的 手機(jī)號(hào)

張三,手機(jī)號(hào)碼15945678901
李四,手機(jī)號(hào)碼13945677701
王二,手機(jī)號(hào)碼13845666901

可以使用這樣的正則表達(dá)式 ^(.+),.+(\d{11})

可以寫(xiě)出如下的代碼

content = '''張三,手機(jī)號(hào)碼15945678901
李四,手機(jī)號(hào)碼13945677701
王二,手機(jī)號(hào)碼13845666901'''
 
import re
 
p = re.compile(r'^(.+),.+(\d{11})', re.MULTILINE)
print(p.findall(content))
#findall()方法返回的是列表
m = p.search(content)
#列表不能調(diào)用group,因此需使用search()方法,但search方法只能匹配第一個(gè)符合的
print(m.group(1))
print(m.group(2))
for one in p.findall(content):
    print(one)
    print(type(one))
 
#執(zhí)行結(jié)果
# [('張三', '15945678901'), ('李四', '13945677701'), ('王二', '13845666901')]
# 張三
# 15945678901
# ('張三', '15945678901')
# <class 'tuple'>
# ('李四', '13945677701')
# <class 'tuple'>
# ('王二', '13845666901')
# <class 'tuple'>
 

當(dāng)有多個(gè)分組的時(shí)候,我們可以使用 (?P<分組名>...) 這樣的格式,給每個(gè)分組命名。

這樣做的好處是,更方便后續(xù)的代碼提取每個(gè)分組里面的內(nèi)容

比如

import re
p = re.compile(r'^(?P<name>.+),.+(?P<phone>\d{11})', re.MULTILINE)
print(p.finditer(content))
# 返回string中所有與pattern相匹配的全部字串,返回形式為迭代器。
for match in p.finditer(content):
    print(match.group('name'))
    print(match.group('phone'))
 
# 執(zhí)行結(jié)果
# <callable_iterator object at 0x00000000027C2518>
# 張三
# 15945678901
# 李四
# 13945677701
# 王二
# 13845666901

總結(jié):正則若匹配成功,match()/search()返回的是Match對(duì)象,finditer()返回的是Match對(duì)象的迭代器,獲取匹配結(jié)果需要調(diào)用Match對(duì)象的group()、groups或group(index)方法。 

  • group():母串中與模式pattern匹配的子串;
  • group(0):結(jié)果與group()一樣;
  • groups():所有g(shù)roup組成的一個(gè)元組,group(1)是字符串中第一個(gè)匹配成功的子串分組,group(2)是第二個(gè),依次類(lèi)推,如果index超了邊界,拋出IndexError;
  • findall():返回的就是所有匹配的子串?dāng)?shù)組,就是子串元組組成的列表,例如上面的例子,母串中的第一行組成一個(gè)元組,第二行組成一個(gè)元組,這些元組共同構(gòu)成一個(gè)list,就是findall()的返回結(jié)果。

方括號(hào)-匹配幾個(gè)字符之一

方括號(hào)表示要匹配 指定的幾個(gè)字符之一 。

比如

[abc] 可以匹配 a, b, 或者 c 里面的任意一個(gè)字符。等價(jià)于 [a-c] 。

[a-c] 中間的 - 表示一個(gè)范圍從a 到 c。

如果你想匹配所有的小寫(xiě)字母,可以使用 [a-z]

一些 元字符 在 方括號(hào)內(nèi) 失去了魔法, 變得和普通字符一樣了。

比如

[akm.] 匹配 a k m . 里面任意一個(gè)字符

這里 . 在括號(hào)里面不在表示 匹配任意字符了,而就是表示匹配 . 這個(gè) 字符

如果在方括號(hào)中使用 ^ , 表示  方括號(hào)里面的字符集合。

比如

content = 'a1b2c3d4e5'
 
import re
p = re.compile(r'[^\d]' )
for one in  p.findall(content):
    print(one)

[^\d] 表示,選擇非數(shù)字的字符

輸出結(jié)果為:

a
b
c
d
e

切割字符串

字符串 對(duì)象的 split 方法只適用于 簡(jiǎn)單的字符串分割。 有時(shí),你需要更加靈活的字符串切割。

比如,我們需要從下面字符串中提取武將的名字。

names = '關(guān)羽; 張飛, 趙云,馬超, 黃忠  李逵'

我們發(fā)現(xiàn)這些名字之間, 有的是分號(hào)隔開(kāi),有的是逗號(hào)隔開(kāi),有的是空格隔開(kāi), 而且分割符號(hào)周?chē)€有不定數(shù)量的空格

這時(shí),可以使用正則表達(dá)式里面的 split 方法:

import re
 
names = '關(guān)羽; 張飛, 趙云,   馬超, 黃忠  李逵'
 
namelist = re.split(r'[;,\s]\s*', names)
print(namelist)

正則表達(dá)式 [;,\s]\s* 指定了,分割符為 分號(hào)、逗號(hào)、空格 里面的任意一種均可,并且 該符號(hào)周?chē)梢杂胁欢〝?shù)量的空格。

字符串替換

匹配模式替換

字符串 對(duì)象的 replace 方法只適應(yīng)于 簡(jiǎn)單的 替換。 有時(shí),你需要更加靈活的字符串替換。

比如,我們需要在下面這段文本中 所有的 鏈接中 找到所以 /avxxxxxx/ 這種 以 /av 開(kāi)頭,后面接一串?dāng)?shù)字, 這種模式的字符串。

然后,這些字符串全部 替換為 /cn345677/ 。

names = '''
下面是這學(xué)期要學(xué)習(xí)的課程:
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是牛頓第2運(yùn)動(dòng)定律
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是畢達(dá)哥拉斯公式
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是切割磁力線
'''

被替換的內(nèi)容不是固定的,所以沒(méi)法用 字符串的replace方法。

這時(shí),可以使用正則表達(dá)式里面的 sub 方法:

import re
 
names = '''
下面是這學(xué)期要學(xué)習(xí)的課程:
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是牛頓第2運(yùn)動(dòng)定律
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是畢達(dá)哥拉斯公式
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是切割磁力線
'''
 
newStr = re.sub(r'/av\d+?/', '/cn345677/' , names)
print(newStr)

sub 方法就是也是替換 字符串, 但是被替換的內(nèi)容 用 正則表達(dá)式來(lái)表示 符合特征的所有字符串。

比如,這里就是第一個(gè)參數(shù) /av\d+?/ 這個(gè)正則表達(dá)式,表示以 /av 開(kāi)頭,后面是一串?dāng)?shù)字,再以 / 結(jié)尾的 這種特征的字符串 ,是需要被替換的。

第二個(gè)參數(shù),這里 是 '/cn345677/' 這個(gè)字符串,表示用什么來(lái)替換。

第三個(gè)參數(shù)是 源字符串。

指定替換函數(shù)

剛才的例子中,我們用來(lái)替換的是一個(gè)固定的字符串 /cn345677/

如果,我們要求,替換后的內(nèi)容 的是原來(lái)的數(shù)字+6, 比如 /av66771949/ 替換為 /av66771955/ 。

怎么辦?

這種更加復(fù)雜的替換,我們可以把 sub的第2個(gè)參數(shù) 指定為一個(gè)函數(shù) ,該函數(shù)的返回值,就是用來(lái)替換的字符串。

如下

import re
 
names = '''
下面是這學(xué)期要學(xué)習(xí)的課程:
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是牛頓第2運(yùn)動(dòng)定律
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是畢達(dá)哥拉斯公式
<a  target='_blank'>點(diǎn)擊這里,邊看視頻講解,邊學(xué)習(xí)以下內(nèi)容</a>
這節(jié)講的是切割磁力線
'''
 
# 替換函數(shù),參數(shù)是 Match對(duì)象
def subFunc(match):
    # Match對(duì)象 的 group(0) 返回的是整個(gè)匹配上的字符串
    src = match.group(0)
    
    # Match對(duì)象 的 group(1) 返回的是第一個(gè)group分組的內(nèi)容
    number = int(match.group(1)) + 6
    dest = f'/av{number}/'
 
    print(f'{src} 替換為 {dest}')
 
    # 返回值就是最終替換的字符串
    return dest
 
newStr = re.sub(r'/av(\d+?)/', subFunc , names)
print(newStr)
# 正則表達(dá)式提取
import re
 
content = '''
Python3 高級(jí)開(kāi)發(fā)工程師 上?;ソ探逃萍加邢薰旧虾?浦東新區(qū)2萬(wàn)/月02-18滿員
測(cè)試開(kāi)發(fā)工程師(C++/python) 上海墨鹍數(shù)碼科技有限公司上海-浦東新區(qū)2.5萬(wàn)/每月02-18未滿員
Python3 開(kāi)發(fā)工程師 上海德拓信息技術(shù)股份有限公司上海-徐匯區(qū)1.3萬(wàn)/每月02-18剩余11人
測(cè)試開(kāi)發(fā)工程師(Python) 赫里普(上海)信息科技有限公司上海-浦東新區(qū)1.1萬(wàn)/每月02-18剩余5人
Python高級(jí)開(kāi)發(fā)工程師 上海行動(dòng)教育科技股份有限公司上海-閔行區(qū)2.8萬(wàn)/月02-18剩余255人
python開(kāi)發(fā)工程師 上海優(yōu)似騰軟件開(kāi)發(fā)有限公司上海-浦東新區(qū)2.5萬(wàn)/每月02-18滿員
'''
 
for one in  re.findall(r'([\d.]+)萬(wàn)/每{0,1}月', content):
    print(one)
 
 
#非正則表達(dá)式提取
content = '''
Python3 高級(jí)開(kāi)發(fā)工程師 上海互教教育科技有限公司上海-浦東新區(qū)2萬(wàn)/月02-18滿員
測(cè)試開(kāi)發(fā)工程師(C++/python) 上海墨鹍數(shù)碼科技有限公司上海-浦東新區(qū)2.5萬(wàn)/每月02-18未滿員
Python3 開(kāi)發(fā)工程師 上海德拓信息技術(shù)股份有限公司上海-徐匯區(qū)1.3萬(wàn)/每月02-18剩余11人
測(cè)試開(kāi)發(fā)工程師(Python) 赫里普(上海)信息科技有限公司上海-浦東新區(qū)1.1萬(wàn)/每月02-18剩余5人
Python高級(jí)開(kāi)發(fā)工程師 上海行動(dòng)教育科技股份有限公司上海-閔行區(qū)2.8萬(wàn)/月02-18剩余255人
python開(kāi)發(fā)工程師 上海優(yōu)似騰軟件開(kāi)發(fā)有限公司上海-浦東新區(qū)2.5萬(wàn)/每月02-18滿員
'''
 
# 將文本內(nèi)容按行分割,放入列表,按\r\n,\r(回車(chē)),\n(換行)分割
lines = content.splitlines()
 
# print(lines)
for line in lines:
    # 查找'萬(wàn)/月' 在 字符串中什么地方
    # find() 方法檢測(cè)字符串中是否包含子字符串 str ,如果包含的話,返回子字符串開(kāi)始的索引,
    # 不包含的話返回-1
    pos2 = line.find('萬(wàn)/月')
    # print(pos2)
    if pos2 < 0:
        # 查找'萬(wàn)/每月' 在 字符串中什么地方
        pos2 = line.find('萬(wàn)/每月')
        # 都找不到,滿足條件,觸發(fā)continue,不執(zhí)行后面的代碼,跳到循環(huán)開(kāi)頭進(jìn)入下一輪循環(huán)
        if pos2 < 0:
            continue
    # 執(zhí)行到這里,說(shuō)明可以找到薪資關(guān)鍵字
    # 接下來(lái)分析 薪資 數(shù)字的起始位置
    # 方法是 找到 pos2 前面薪資數(shù)字開(kāi)始的位置
    idx = pos2 - 1
 
    # 只要是數(shù)字或者小數(shù)點(diǎn),就繼續(xù)往前面找
    # isdigit()方法檢測(cè)字符串是否只由數(shù)字組成,如果字符串只包含數(shù)字則返回 True 否則返回 False
    while line[idx].isdigit() or line[idx] == '.':
        idx -= 1
 
    # 現(xiàn)在 idx 指向 薪資數(shù)字前面的那個(gè)字,
    # 所以薪資開(kāi)始的 索引 就是 idx+1
    pos1 = idx + 1
    print(line[pos1:pos2])

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3整數(shù)反轉(zhuǎn)的實(shí)現(xiàn)方法

    python3整數(shù)反轉(zhuǎn)的實(shí)現(xiàn)方法

    這篇文章主要介紹了python3整數(shù)反轉(zhuǎn)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Pycharm新手使用教程(圖文詳解)

    Pycharm新手使用教程(圖文詳解)

    這篇文章主要介紹了Pycharm新手使用教程(圖文詳解),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python圖片驗(yàn)證碼降噪和8鄰域降噪

    Python圖片驗(yàn)證碼降噪和8鄰域降噪

    這篇文章主要介紹了Python圖片驗(yàn)證碼降噪和8鄰域降噪的相關(guān)內(nèi)容,需要的小伙伴可以參考下面文章
    2021-08-08
  • PyQt5組件讀取參數(shù)的實(shí)例

    PyQt5組件讀取參數(shù)的實(shí)例

    今天小編就為大家分享一篇PyQt5組件讀取參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Python Pandas 刪除列操作

    Python Pandas 刪除列操作

    這篇文章主要介紹了Python Pandas 刪除列操作,主要操作使用del和drop方法刪除DataFrame中的列,使用drop方法一次刪除多列,需要的朋友可以參考一下
    2022-03-03
  • 如何使用pytorch構(gòu)建高斯混合模型分類(lèi)器

    如何使用pytorch構(gòu)建高斯混合模型分類(lèi)器

    本文是一個(gè)利用Pytorch構(gòu)建高斯混合模型分類(lèi)器的嘗試,我們將從頭開(kāi)始構(gòu)建高斯混合模型(GMM),這樣可以對(duì)高斯混合模型有一個(gè)最基本的理解,本文不會(huì)涉及數(shù)學(xué),需要的朋友可以參考下
    2023-10-10
  • 學(xué)習(xí)Python需要哪些工具

    學(xué)習(xí)Python需要哪些工具

    這篇文章主要介紹了學(xué)習(xí)Python需要哪些工具,幫助大家開(kāi)始學(xué)習(xí)python編程,感興趣的朋友可以了解下
    2020-09-09
  • python自然語(yǔ)言處理之字典樹(shù)知識(shí)總結(jié)

    python自然語(yǔ)言處理之字典樹(shù)知識(shí)總結(jié)

    這篇文章主要介紹了python自然語(yǔ)言處理之字典樹(shù)知識(shí)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • django-csrf使用和禁用方式

    django-csrf使用和禁用方式

    這篇文章主要介紹了django-csrf使用和禁用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 如何更改Pycharm配置文件的存放路徑

    如何更改Pycharm配置文件的存放路徑

    Pycharm配置文件默認(rèn)是放在C盤(pán)的,修改存放位置,這樣系統(tǒng)重裝的時(shí)候就不會(huì)不見(jiàn)了,下面這篇文章主要給大家介紹了關(guān)于如何更改Pycharm配置文件的存放路徑的相關(guān)資料,需要的朋友可以參考下
    2022-12-12

最新評(píng)論