導航:首頁 > 編程語言 > 索引怎麼用python

索引怎麼用python

發布時間:2023-08-13 17:19:27

python 數據處理(二十四)—— 索引和選擇

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

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

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

警告

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

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

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

例如

索引列表的標簽都存在

先前的版本

但是,現在

索引標簽列表中包含不存在的標簽,使用 reindex

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

對於 .reindex() ,如果有重復的索引將會引發異常

通常,您可以將所需的標簽與當前軸做交集,然後重新索引

但是,如果你的索引結果包含重復標簽,還是會引發異常

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

該方法默認會對行進行采樣,並接受一個特定的行數、列數,或數據子集。

默認情況下, sample 每行最多返回一次,但也可以使用 replace 參數進行替換采樣

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

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

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

當應用於 DataFrame 時,您可以通過簡單地將列名作為字元串傳遞給 weights 作為采樣權重(前提是您要采樣的是行而不是列)。

sample 還允許用戶使用 axis 參數對列進行抽樣。

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

當為該軸設置一個不存在的鍵時, .loc/[] 操作可以執行放大

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

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

這就像 DataFrame 的 append 操作

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

如果你只想訪問一個標量值,最快的方法是使用 at 和 iat 方法,這兩個方法在所有的數據結構上都實現了

與 loc 類似, at 提供了基於標簽的標量查找,而 iat 提供了基於整數的查找,與 iloc 類似

同時,你也可以根據這些索引進行設置值

如果索引標簽不存在,會放大數據

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

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

這些必須用括弧來分組,因為默認情況下, Python 會將 df['A'] > 2 & df['B'] < 3 這樣的表達式評估為 df['A'] > (2 & df['B']) < 3 ,而理想的執行順序是 (df['A'] > 2) & (df['B'] < 3)

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

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

列表推導式和 Series 的 map 函數可用於產生更復雜的標准

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

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

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

Ⅱ 如何用Python建立索引

importre

patt=re.compile("w+")

defmakeIndex(filename):
index={}
withopen(filename)ashandle:
fori,lninenumerate(handle):
forwordinpatt.findall(ln):
index.setdefault(word,[]).append(i+1)
returnindex

defprintIndex(index):
forword,lstinindex.items():
print"%s:%s"%(
word,",".join(map(str,lst))
)

defindexQuery(index,*args):
found=None
forwordinargs:
got=index.get(word,[])
ifnotgot:
returnNone
ifnotfound:
found=set(got)
else:
found&=set(got)

ifnotfound:
returnNone

returnlist(found)


index=makeIndex("qa.py")
printIndex(index)
printindexQuery(index,"in","enumerate")

Ⅲ python如何將列表作為列表的索引

1.
a=['a','b','c','d','e','f','g','h','i','j','k','l','m','n']
b=[1,4,3,6,10]
c=type(a)(map(lambdai:a[i],b))#這里沒有判斷b的元素作為a的索引的時候值太大溢出的異常
printc
>>>
['b','e','d','g','k']
>>>

------------------------------

2.
>>>importnumpyasnp
>>>b=np.array([2,3,4,5,6])
>>>a=np.array([0,2,4])
>>>b[a]
array([2,4,6])

Ⅳ index在python中的用法

如下:

1、index函數:用於從列表中找出某個值第一個匹配項的索引位置。

2、index方法語法:list.index(x[,start[,end]])。

3、參數:x-- 查找的對象。start-- 可選,查找的起始位置。end-- 可選,查找的結束位置。

4、返回值:該方法返回查找對象的索引位置,如果沒有找到對象則拋出異常。

5、實例:

代碼:str1="thisisstringexample....wow!!!";str2="exam"。

index函數為print(str1.index(str2))。

python中index函數怎麼用?

Python中index方法檢測字元串中是否包含子字元串 str ,如果指定 beg(開始) 和 end(結束) 范圍,則檢查是否包含在指定范圍內,該方法與 python find方法一樣,只不過如果str不在string中會報一個異常。

index函數一般用處是在序列中檢索參數並返回第一次出現的索引,沒找到就會報錯。

閱讀全文

與索引怎麼用python相關的資料

熱點內容
怎麼打開文件夾自動刪除 瀏覽:681
php中英文切換 瀏覽:441
php168數據 瀏覽:75
水壓縮後有彈性 瀏覽:42
蘇州阿里雲伺服器數據備份 瀏覽:522
消息提示音怎麼設置安卓 瀏覽:277
怎麼去掉安卓手機的小圓圈 瀏覽:474
女程序員每天教你一招 瀏覽:590
葯劑學pdf下載 瀏覽:477
打開的共享文件夾少東西 瀏覽:643
芝麻黑頭解壓去除視頻 瀏覽:186
光明與黑暗怎麼進入伺服器 瀏覽:659
20歲的程序員 瀏覽:238
p4備份伺服器是什麼意思 瀏覽:350
棗庄空氣壓縮機維修 瀏覽:621
色弱程序員 瀏覽:415
oraclelinux修改ip 瀏覽:665
雲上城之歌九游通用伺服器 瀏覽:348
加密貨幣需要投資嗎 瀏覽:533
php選擇文件夾 瀏覽:564