欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

df.drop_duplicates('item_name')

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

方法一:

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

方法二:

df['item_name'].nunique()

結(jié)果:50

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

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

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

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

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

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

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

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

def dataInterval(ss):

if '周' in ss:

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

return ss

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

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

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

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等價。

python中對list去重的多種方法

python中對list去重的多種方法

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

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

直觀方法

最簡單的思路就是:

這樣也可行,但是看起來不夠爽。

用set

另外一個解決方案就是用set:

代碼如下:

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

ids = list(set(ids))

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

按照索引再次排序

最后通過這種方式解決:

代碼如下:

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

news_ids = list(set(ids))

news_ids.sort(ids.index)

使用itertools.grouby

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

代碼如下:

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] 等價于 lambda x,y: y in x and x or x+[y] 。

Python。重復(fù)元素判定。編寫一個函數(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對列表去重的幾種方式:

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

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

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

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

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

廣告

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

小程序開發(fā)