真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python刪除重復(fù)函數(shù) python編寫(xiě)程序刪除列表中的重復(fù)值

像Excel一樣使用Python(一)

在進(jìn)行數(shù)據(jù)處理時(shí),如果數(shù)據(jù)簡(jiǎn)單,數(shù)量不多,excel是大家的首選。但是當(dāng)數(shù)據(jù)眾多,類(lèi)型復(fù)雜,需要靈活地顯示切片、進(jìn)行索引、以及排序時(shí),python會(huì)更加方便。借助python中的numpy和pandas庫(kù),它能快速完成各種任務(wù),包括數(shù)據(jù)的創(chuàng)建、檢查、清洗、預(yù)處理、提取、篩選、匯總、統(tǒng)計(jì)等。接下來(lái)幾篇文章,將以excel為參照,介紹python中數(shù)據(jù)的處理。

成都創(chuàng)新互聯(lián)公司于2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元湖州做網(wǎng)站,已為上家服務(wù),為湖州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220

提到pandas,那就不得不提兩類(lèi)重要的數(shù)據(jù)結(jié)構(gòu),Series和DataFrame,這兩類(lèi)數(shù)據(jù)結(jié)構(gòu)都是建立在numpy的數(shù)組array基礎(chǔ)上。與array相比,Series是一個(gè)一維的數(shù)據(jù)集,但是每個(gè)數(shù)據(jù)元素都帶有一個(gè)索引,有點(diǎn)類(lèi)似于字典。而DataFrame在數(shù)組的基礎(chǔ)上,增加了行索引和列索引,類(lèi)似于Series的字典,或者說(shuō)是一個(gè)列表集。

所以在數(shù)據(jù)處理前,要安裝好numpy , pandas。接下來(lái)就看看如何完成一套完整的數(shù)據(jù)操作。

創(chuàng)建數(shù)據(jù)表的方法分兩種,分別是從外部導(dǎo)入數(shù)據(jù),以及直接寫(xiě)入數(shù)據(jù)。

在python中,也可外部導(dǎo)入xlsx格式文件,使用read_excel()函數(shù):

import pandas as pd

from pandas import DataFrame,Series

data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))

print data

輸出:

Gene Size Function

0 arx1 411 NaN

1 arx2 550 monooxygenase

2 arx3 405 aminotransferase

……

即:調(diào)用pandas中read_excel屬性,來(lái)讀取文件test.xlsx,并轉(zhuǎn)換成DataFrame格式,賦給變量data。在每一行后,自動(dòng)分了一個(gè)索引值。除了excel,還支持以下格式文件的導(dǎo)入和寫(xiě)入:

Python寫(xiě)入的方法有很多,但還是不如excel方便。常用的例如使用相等長(zhǎng)度的字典或numpy數(shù)組來(lái)創(chuàng)建:

data1 = DataFrame(

{'Gene':['arx1','arx2','arx3'],

'Size':[411,550,405],

'Func':[np.NaN,'monooxygenase','aminotransferase ']})

print data1

輸出

Func Gene Size

0 NaN arx1 411

1 monooxyg arx2 550

2 amino arx3 405

分配一個(gè)行索引后,自動(dòng)排序并輸出。

在python中,可以使用info()函數(shù)查看整個(gè)數(shù)據(jù)的詳細(xì)信息。

print data.info()

輸出

RangeIndex: 7 entries, 0 to 6

Data columns (total 3 columns):

Gene 7 non-null object

Size 7 non-null int64

Function 5 non-null object

dtypes: int64(1), object(2)

memory usage: 240.0+ bytes

None

此外,還可以通過(guò)shape, column, index, values, dtypes等函數(shù)來(lái)查看數(shù)據(jù)維度、行列組成、所有的值、 數(shù)據(jù)類(lèi)型:

print data1.shape

print data1.index

print data1.columns

print data1.dtypes

輸出

(3, 3)

RangeIndex(start=0, stop=3, step=1)

Index([u'Func', u'Gene', u'Size'], dtype='object')

Func object

Gene object

Size int64

dtype: object

在excel中可以按“F5”,在“定位條件”中選擇“空值”,選中后,輸入替換信息,再按“Ctrl+Enter”即可完成替換。

在python中,使用函數(shù) isnull 和 notnull 來(lái)檢測(cè)數(shù)據(jù)丟失, 包含空值返回True,不包含則返回False。

pd.isnull(data1)

pd.notnull(data1)

也可以使用函數(shù)的實(shí)例方法,以及加入?yún)?shù),對(duì)某一列進(jìn)行檢查:

print data1['Func'].isnull()

輸出

Func Gene Size

0 True False False

1 False False False

2 False False False

再使用fillna對(duì)空值進(jìn)行填充:

data.fillna(value=0)

#用0來(lái)填充空值

data['Size'].fillna(data1['Size'].mean())

#用data1中Size列的平均值來(lái)填充空值

data['Func']=data['Func'].map(str.strip)

#清理Func列中存在的空格

Excel中可以按“Ctrl+F”,可調(diào)出替換對(duì)話(huà)框,替換相應(yīng)數(shù)據(jù)。

Python中,使用replace函數(shù)替換:

data['Func'].replace('monooxygenase', 'oxidase')

將Func列中的'monooxygenase'替換成'oxidase'。

Excel中,通過(guò)“數(shù)據(jù)-篩選-高級(jí)”可以選擇性地看某一列的唯一值。

Python中,使用unique函數(shù)查看:

print data['Func'].unique()

輸出

[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']

Excel中,通過(guò)UPPER、LOWER、PROPER等函數(shù)來(lái)變成大寫(xiě)、小寫(xiě)、首字母大寫(xiě)。

Python中也有同名函數(shù):

data1['Gene'].str.lower()

Excel中可以通過(guò)“數(shù)據(jù)-刪除重復(fù)項(xiàng)”來(lái)去除重復(fù)值。

Python中,可以通過(guò)drop_duplicates函數(shù)刪除重復(fù)值:

print data['Func'].drop_duplicates()

輸出

0 NaN

1 monooxygenase

2 aminotransferase

3 methyltransferase

Name: Func, dtype: object

還可以設(shè)置“ keep=’last’ ”參數(shù),后出現(xiàn)的被保留,先出現(xiàn)的被刪除:

print data['Func'].drop_duplicates(keep='last')

輸出

2 aminotransferase

3 methyltransferase

6 monooxygenase

8 NaN

Name: Func, dtype: object

內(nèi)容參考:

Python For Data Analysis

藍(lán)鯨網(wǎng)站分析博客,作者藍(lán)鯨(王彥平)

python如何實(shí)現(xiàn)刪除某list中所有重復(fù)出現(xiàn)的元素

1. 使用內(nèi)置函數(shù)set

lists = [1,1,2,3,4,6,6,2,2,9]

lists = list(set(lists))

先將列表轉(zhuǎn)換為集合,因?yàn)榧鲜遣恢貜?fù)的,故直接刪除重復(fù)元素,而且輸出結(jié)果為排序后的

python如何有多個(gè)重復(fù)元素刪除其中一個(gè)?

如果你知道他的索引(index)

假設(shè)他的索引存在變量a中

列表名為list

list.pop(a)

當(dāng)然,也可以用remove函數(shù)

但是,局限于只能刪第一個(gè)

比如:

a=[0,1,1,1,2,3,3]

a.remove(1)

print(a)

結(jié)果為:

[0, 1, 1, 2, 3, 3]

Python 清除重復(fù)值

from pandas import read_csv

df = read_csv('D://PDA//4.3//data.csv')

df

#找出行重復(fù)的位置

dIndex = df.duplicated()

#根據(jù)某些列,找出重復(fù)的位置

dIndex = df.duplicated('id')

dIndex = df.duplicated(['id', 'key'])

#根據(jù)返回值,把重復(fù)數(shù)據(jù)提取出來(lái)

df[dIndex]

id? key? ? ? ? ? value

4? 1251147? ? 品牌? ? ? ? ? Apple

5? 1251147? 商品名稱(chēng)? 蘋(píng)果iPad mini 3

#直接刪除重復(fù)值

#默認(rèn)根據(jù)所有的列,進(jìn)行刪除

newDF = df.drop_duplicates()

#當(dāng)然也可以指定某一列,進(jìn)行重復(fù)值處理

newDF = df.drop_duplicates('id')

python之重復(fù)值(duplicated)

Duplicated函數(shù)功能:查找并顯示數(shù)據(jù)表中的重復(fù)值

這里需要注意的是:

drop_duplicates函數(shù)功能是:刪除數(shù)據(jù)表中的重復(fù)值,判斷標(biāo)準(zhǔn)和邏輯與duplicated函數(shù)一樣

python用drop_duplicates()函數(shù)保留數(shù)據(jù)集的重復(fù)行

前兩天處理數(shù)據(jù)的時(shí)候,需要得到兩個(gè)數(shù)據(jù)的交集數(shù)據(jù),所以要去除數(shù)據(jù)中非重復(fù)部分,只保留數(shù)據(jù)中的重復(fù)部分。

?? 網(wǎng)上看了一下大家的教程,大部分都是教去除重復(fù)行,很少有說(shuō)到僅保留重復(fù)行的。所以在這里用drop_duplicates這個(gè)去重函數(shù)來(lái)實(shí)現(xiàn)這個(gè)功能。

drop_duplicates函數(shù)介紹 :

data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)

#subset對(duì)應(yīng)的值是列名,表示只考慮這兩列,將這兩列對(duì)應(yīng)值相同的行進(jìn)行去重。

默認(rèn)值為subset=None表示考慮所有列。

keep='first’表示保留第一次出現(xiàn)的重復(fù)行,是默認(rèn)值。

keep另外兩個(gè)取值為"last"和False,分別表示保留最后一次出現(xiàn)的重復(fù)行和去除所有重復(fù)行。

inplace=True表示直接在原來(lái)的DataFrame上刪除重復(fù)項(xiàng),而默認(rèn)值False表示生成一個(gè)副本。

要用函數(shù)取得數(shù)據(jù)集data中的重復(fù)列,分三個(gè)步驟 :

(提前導(dǎo)入pandas模塊)

data0_1 = data.drop_duplicates() #保留第一個(gè)重復(fù)行

data0_2 = data.drop_duplicates(keep=False) #去除所有重復(fù)行

data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)

#合并起來(lái)再去重,只剩下真的重復(fù)行。

舉例:data中wangwu行和tony行重復(fù),需要把它們兩行取出。

第一步:#保留第一個(gè)重復(fù)行

第二步:#去除所有重復(fù)行

第三步:#合并起來(lái)再去重

通過(guò)以上步驟實(shí)現(xiàn)取出數(shù)據(jù)中的重復(fù)行。


新聞標(biāo)題:python刪除重復(fù)函數(shù) python編寫(xiě)程序刪除列表中的重復(fù)值
文章網(wǎng)址:http://weahome.cn/article/hgpcgc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部