Python里的索引函數(shù),python 某個值的索引

Python 數(shù)據(jù)處理(二十四)—— 索引和選擇

如果你想獲取 'A' 列的第 0 和第 2 個元素,你可以這樣做:

成都創(chuàng)新互聯(lián)服務(wù)項目包括屯溪網(wǎng)站建設(shè)、屯溪網(wǎng)站制作、屯溪網(wǎng)頁制作以及屯溪網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,屯溪網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到屯溪省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

這也可以用 .iloc 獲取,通過使用位置索引來選擇內(nèi)容

可以使用 .get_indexer 獲取多個索引:

警告 :

對于包含一個或多個缺失標(biāo)簽的列表,使用 .loc 或 [] 將不再重新索引,而是使用 .reindex

在以前的版本中,只要索引列表中存在至少一個有效標(biāo)簽,就可以使用 .loc[list-of-labels]

但是現(xiàn)在,只要索引列表中存在缺失的標(biāo)簽將引發(fā) KeyError 。推薦的替代方法是使用 .reindex() 。

例如

索引列表的標(biāo)簽都存在

先前的版本

但是,現(xiàn)在

索引標(biāo)簽列表中包含不存在的標(biāo)簽,使用 reindex

另外,如果你只想選擇有效的鍵,可以使用下面的方法,同時保留了數(shù)據(jù)的 dtype

對于 .reindex() ,如果有重復(fù)的索引將會引發(fā)異常

通常,您可以將所需的標(biāo)簽與當(dāng)前軸做交集,然后重新索引

但是,如果你的索引結(jié)果包含重復(fù)標(biāo)簽,還是會引發(fā)異常

使用 sample() 方法可以從 Series 或 DataFrame 中隨機(jī)選擇行或列。

該方法默認(rèn)會對行進(jìn)行采樣,并接受一個特定的行數(shù)、列數(shù),或數(shù)據(jù)子集。

默認(rèn)情況下, sample 每行最多返回一次,但也可以使用 replace 參數(shù)進(jìn)行替換采樣

默認(rèn)情況下,每一行被選中的概率相等,但是如果你想讓每一行有不同的概率,你可以為 sample 函數(shù)的 weights 參數(shù)設(shè)置抽樣權(quán)值

這些權(quán)重可以是一個列表、一個 NumPy 數(shù)組或一個 Series ,但它們的長度必須與你要抽樣的對象相同。

缺失的值將被視為權(quán)重為零,并且不允許使用 inf 值。如果權(quán)重之和不等于 1 ,則將所有權(quán)重除以權(quán)重之和,將其重新歸一化。例如

當(dāng)應(yīng)用于 DataFrame 時,您可以通過簡單地將列名作為字符串傳遞給 weights 作為采樣權(quán)重(前提是您要采樣的是行而不是列)。

sample 還允許用戶使用 axis 參數(shù)對列進(jìn)行抽樣。

最后,我們還可以使用 random_state 參數(shù)為 sample 的隨機(jī)數(shù)生成器設(shè)置一個種子,它將接受一個整數(shù)(作為種子)或一個 NumPy RandomState 對象

當(dāng)為該軸設(shè)置一個不存在的鍵時, .loc/[] 操作可以執(zhí)行放大

在 Series 的情況下,這實際上是一個追加操作

可以通過 .loc 在任一軸上放大 DataFrame

這就像 DataFrame 的 append 操作

由于用 [] 做索引必須處理很多情況(單標(biāo)簽訪問、分片、布爾索引等),所以需要一些開銷來搞清楚你的意圖

如果你只想訪問一個標(biāo)量值,最快的方法是使用 at 和 iat 方法,這兩個方法在所有的數(shù)據(jù)結(jié)構(gòu)上都實現(xiàn)了

與 loc 類似, at 提供了基于標(biāo)簽的標(biāo)量查找,而 iat 提供了基于整數(shù)的查找,與 iloc 類似

同時,你也可以根據(jù)這些索引進(jìn)行設(shè)置值

如果索引標(biāo)簽不存在,會放大數(shù)據(jù)

另一種常見的操作是使用布爾向量來過濾數(shù)據(jù)。運算符包括:

|(or) 、 (and) 、 ~ (not)

這些必須用括號來分組,因為默認(rèn)情況下, Python 會將 df['A'] 2 df['B'] 3 這樣的表達(dá)式評估為 df['A'] (2 df['B']) 3 ,而理想的執(zhí)行順序是 (df['A'] 2) (df['B'] 3)

使用一個布爾向量來索引一個 Series ,其工作原理和 NumPy ndarray 一樣。

您可以使用一個與 DataFrame 的索引長度相同的布爾向量從 DataFrame 中選擇行

列表推導(dǎo)式和 Series 的 map 函數(shù)可用于產(chǎn)生更復(fù)雜的標(biāo)準(zhǔn)

我們可以使用布爾向量結(jié)合其他索引表達(dá)式,在多個軸上索引

iloc 支持兩種布爾索引。如果索引器是一個布爾值 Series ,就會引發(fā)異常。

例如,在下面的例子中, df.iloc[s.values, 1] 是正確的。但是 df.iloc[s,1] 會引發(fā) ValueError 。

Python 之內(nèi)置函數(shù):filter、map、reduce、zip、enumerate

這幾個函數(shù)在 Python 里面被稱為高階函數(shù),本文主要學(xué)習(xí)它們的用法。

filter 函數(shù)原型如下:

第一個參數(shù)是判斷函數(shù)(返回結(jié)果需要是 True 或者 False),第二個為序列,該函數(shù)將對 iterable 序列依次執(zhí)行 function(item) 操作,返回結(jié)果是過濾之后結(jié)果組成的序列。

簡單記憶:對序列中的元素進(jìn)行篩選,獲取符合條件的序列。

返回結(jié)果為: ,使用 list 函數(shù)可以輸入序列內(nèi)容。

map 函數(shù)原型如下:

該函數(shù)運行之后生成一個 list,第一個參數(shù)是函數(shù)、第二個參數(shù)是一個或多個序列;

下述代碼是一個簡單的測試案例:

上述代碼運行完畢,得到的結(jié)果是: 。使用 print(list(my_new_list)) 可以得到結(jié)果。

map 函數(shù)的第一個參數(shù),可以有多個參數(shù),當(dāng)這種情況出現(xiàn)后,后面的第二個參數(shù)需要是多個序列。

map 函數(shù)解決的問題:

reduce 函數(shù)原型如下:

第一個參數(shù)是函數(shù),第二個參數(shù)是序列,返回計算結(jié)果之后的值。該函數(shù)價值在于滾動計算應(yīng)用于列表中的連續(xù)值。

測試代碼如下:

最終的結(jié)果是 6,如果設(shè)置第三個參數(shù)為 4,可以運行代碼查看結(jié)果,最后得到的結(jié)論是,第三個參數(shù)表示初始值,即累加操作初始的數(shù)值。

簡單記憶:對序列內(nèi)所有元素進(jìn)行累計操作。

zip 函數(shù)原型如下:

zip 函數(shù)將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數(shù)不一樣,則返回列表長度與最短的對象相同,利用星號( * )操作符,可以將元組解壓為列表。

測試代碼如下:

展示如何利用 * 操作符:

輸出結(jié)果如下:

簡單記憶:zip 的功能是映射多個容器的相似索引,可以方便用于來構(gòu)造字典。

enumerate 函數(shù)原型如下:

參數(shù)說明:

該函數(shù)用于將一個可遍歷的數(shù)據(jù)對象組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。

測試代碼如下:

返回結(jié)果為: 。

本文涉及的函數(shù)可以與 lambda 表達(dá)式進(jìn)行結(jié)合,能大幅度提高編碼效率。最好的學(xué)習(xí)資料永遠(yuǎn)是官方手冊

insert在python里是什么意思

insert()是Python中的內(nèi)置函數(shù),可將給定元素插入列表中的給定索引。

python的insert函數(shù)中有兩個必填參數(shù),第一個是填充的位置,第二個是填充的內(nèi)容。必須有小數(shù)點,不然報錯。一般用1.0,就是往下面一行行的寫。

insert()的參數(shù)和返回值

參數(shù):index - the index at which the element has to be inserted.

element - the element to be inserted in the list.

返回值:This method does not return any value but

it inserts the given element at the given index.

python的index函數(shù),獲取最后一個

python的index函數(shù)可以獲取列表中值的第一個索引。

list= [1,2,3,4,5,1,2,2]

list.index(2) 1

如果要獲取相同值的最后一個索引:

len(list) - list[::-1].index(2) - 1

反向取得list后,用list的長度減去反轉(zhuǎn)后出現(xiàn)的第一個索引再減1

Python的函數(shù)都有哪些

【常見的內(nèi)置函數(shù)】

1、enumerate(iterable,start=0)

是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。

2、zip(*iterables,strict=False)

用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。

3、filter(function,iterable)

filter是將一個序列進(jìn)行過濾,返回迭代器的對象,去除不滿足條件的序列。

4、isinstance(object,classinfo)

是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實例,或者object是classinfo類的子類的一個實例,

返回True。如果object不是一個給定類型的的對象, 則返回結(jié)果總是False

5、eval(expression[,globals[,locals]])

用來將字符串str當(dāng)成有效的表達(dá)式來求值并返回計算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。

【常用的句式】

1、format字符串格式化

format把字符串當(dāng)成一個模板,通過傳入的參數(shù)進(jìn)行格式化,非常實用且強(qiáng)大。

2、連接字符串

常使用+連接兩個字符串。

3、if...else條件語句

Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。

4、for...in、while循環(huán)語句

循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。

5、import導(dǎo)入其他腳本的功能

有時需要使用另一個python文件中的腳本,這其實很簡單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。

python中l(wèi)ist(range())、range()、list()函數(shù)的用法

轉(zhuǎn)自

Python? range() 函數(shù)返回的是一個可迭代對象(類型是對象),而不是列表類型, 所以打印的時候不會打印列表。

函數(shù)語法:

range(stop)range(start,stop,step)//默認(rèn)start為0,step為1

Python? list() 函數(shù)是對象迭代器,可以把range()返回的可迭代對象轉(zhuǎn)為一個列表,返回的變量類型為列表。

list() 方法用于將元組轉(zhuǎn)換為列表。

注: 元組與列表是非常類似的,區(qū)別在于元組的元素值不能修改,元組是放在括號中( ),列表是放于方括號中[ ]。

元組中只包含一個元素時,需要在元素后面添加逗號

tup1=(50,)

list、元組與字符串的索引一樣,列表索引從0開始。列表可以進(jìn)行截取、組合等。

新聞標(biāo)題:Python里的索引函數(shù),python 某個值的索引
分享鏈接:http://muchs.cn/article12/hsscgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站ChatGPT、網(wǎng)站營銷、App開發(fā)、營銷型網(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)

搜索引擎優(yōu)化