99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

python函數(shù)去重博客,Python去重

Python 去重,統(tǒng)計(jì),lambda函數(shù)

df.drop_duplicates('item_name')

成都創(chuàng)新互聯(lián)公司成立于2013年,先為萬(wàn)州等服務(wù)建站,萬(wàn)州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為萬(wàn)州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

方法一:

df.drop_duplicates('item_name').count()

方法二:

df['item_name'].nunique()

結(jié)果:50

附:nunique()和unique()的區(qū)別:

unique()是以 數(shù)組形式(numpy.ndarray)返回列的所有唯一值(特征的所有唯一值)

nunique()即返回的是唯一值的個(gè)數(shù)

比如:df['item_name'].unique()

要求:將下表中經(jīng)驗(yàn)列將按周統(tǒng)計(jì)的轉(zhuǎn)換為經(jīng)驗(yàn)不限,保留學(xué)歷

df1['經(jīng)驗(yàn)'] = df1['經(jīng)驗(yàn)'].apply(lambda x: '經(jīng)驗(yàn)不限'+ x[-2:] if '周' in x else x)

#解釋:將‘5天/周6個(gè)月’變成‘經(jīng)驗(yàn)不限’,然后保留學(xué)歷‘本科’

方法二:定義函數(shù)

def dataInterval(ss):

if '周' in ss:

? ? return '經(jīng)驗(yàn)不限'+ ss[-2:]

return ss

df1['經(jīng)驗(yàn)'] = df1['經(jīng)驗(yàn)'].apply(dataInterval)

python去重(漢字一樣,里面的編碼不一樣)?

這是一個(gè)字符串的全角和半角的問(wèn)題,可以導(dǎo)入?unicodedata?中的?normalize?函數(shù)先把全角轉(zhuǎn)換為半角,然后再用?set?對(duì)列表去重,參考代碼如下:

from?unicodedata?import?normalize

list3=['熱菜','凉菜','涼菜','硬菜']

set(map(lambda?s:?normalize('NFKC',?s),?list3))

輸出:

{'硬菜',?'熱菜',?'涼菜'}

擴(kuò)展:

“?NFKC”代表“Normalization?Form?KC?[Compatibility?Decomposition,?followed?by?Canonical?Composition]”,并將全角字符替換為半角字符,這些半角字符與Unicode等價(jià)。

python中對(duì)list去重的多種方法

python中對(duì)list去重的多種方法

今天遇到一個(gè)問(wèn)題,在同事隨意的提示下,用了 itertools.groupby 這個(gè)函數(shù)。不過(guò)這個(gè)東西最終還是沒(méi)用上。

問(wèn)題就是對(duì)一個(gè)list中的新聞id進(jìn)行去重,去重之后要保證順序不變。

直觀方法

最簡(jiǎn)單的思路就是:

這樣也可行,但是看起來(lái)不夠爽。

用set

另外一個(gè)解決方案就是用set:

代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids = list(set(ids))

這樣的結(jié)果是沒(méi)有保持原來(lái)的順序。

按照索引再次排序

最后通過(guò)這種方式解決:

代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

news_ids = list(set(ids))

news_ids.sort(ids.index)

使用itertools.grouby

文章一開(kāi)始就提到itertools.grouby, 如果不考慮列表順序的話可用這個(gè):

代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids.sort()

it = itertools.groupby(ids)

for k, g in it:

print k

關(guān)于itertools.groupby的原理可以看這里:

網(wǎng)友補(bǔ)充:用reduce

網(wǎng)友reatlk留言給了另外的解決方案。我補(bǔ)充并解釋到這里:

代碼如下:

In [5]: ids = [1,4,3,3,4,2,3,4,5,6,1]

In [6]: func = lambda x,y:x if y in x else x + [y]

In [7]: reduce(func, [[], ] + ids)

Out[7]: [1, 4, 3, 2, 5, 6]

上面是我在ipython中運(yùn)行的代碼,其中的 lambda x,y:x if y in x else x + [y] 等價(jià)于 lambda x,y: y in x and x or x+[y] 。

Python。重復(fù)元素判定。編寫(xiě)一個(gè)函數(shù),接受列表作為參數(shù)

代碼如下:

def func1(num_list):

if len(num_list) != len(set(num_list)):

return True

else:

return False

if __name__ == '__main__':

num_list = [[1, 2, 3, 4], [6, 7, 8], [4, 5, 6, 6, 6]]

for one_list in num_list:

print(func1(one_list))

運(yùn)行結(jié)果:

擴(kuò)展資料

python對(duì)列表去重的幾種方式:

1、直觀方法,先建立一個(gè)新的空列表,通過(guò)遍歷原來(lái)的列表,再利用邏輯關(guān)系not in 來(lái)去重。總結(jié):這樣可以做出來(lái),但是過(guò)程不夠簡(jiǎn)單。但是此方法保證了列表的順序性。

2、利用set的自動(dòng)去重功能,將列表轉(zhuǎn)化為集合再轉(zhuǎn)化為列表,利用集合的自動(dòng)去重功能。簡(jiǎn)單快速。缺點(diǎn)是:使用set方法無(wú)法保證去重后的順序。

參考資料:python官網(wǎng)-Doc語(yǔ)法文檔

網(wǎng)頁(yè)題目:python函數(shù)去重博客,Python去重
URL鏈接:http://www.yijiale78.com/article12/dsiojgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司外貿(mào)建站云服務(wù)器小程序開(kāi)發(fā)定制網(wǎng)站外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)