本文目錄一覽:
- 1、index在python中的用法
- 2、python中如何求出array數組中大於a且小於b的元素的索引
- 3、Python的pandas 數組如何得到索引值,如圖,我要得到ohio 的索引值,應該怎樣做?
- 4、Python 數據處理(二十四)—— 索引和選擇
index在python中的用法
如下:
1、index函數:用於從列表中找出某個值第一個匹配項的索引位置。
2、index方法語法:list.index(x[, start[, end]])。
3、參數:x– 查找的對象。start– 可選,查找的起始位置。end– 可選,查找的結束位置。
4、返回值:該方法返回查找對象的索引位置,如果沒有找到對象則拋出異常。
5、實例:
代碼:str1 = “this is string example….wow!!!”;str2 = “exam”。
index函數為print(str1.index(str2))。
python中index函數怎麼用?
Python中index方法檢測字符串中是否包含子字符串 str ,如果指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,該方法與 python find方法一樣,只不過如果str不在string中會報一個異常。
index函數一般用處是在序列中檢索參數並返回第一次出現的索引,沒找到就會報錯。
python中如何求出array數組中大於a且小於b的元素的索引
代碼如下
c = [1, 3, 9, 4, 6, 7]
a = 2
b = 6
for num in c:
if a num num b:
print(“符合條件的數值為:”, num, “,id為:”, c.index(num))
# 輸出如下
# 符合條件的數值為: 3 ,id為: 1
# 符合條件的數值為: 4 ,id為: 3
# 使用c.index(num)函數來獲取元素的索引
Python的pandas 數組如何得到索引值,如圖,我要得到ohio 的索引值,應該怎樣做?
直接上實例:
df = pd.DataFrame(np.random.randn(5,3),index = list(‘abcde’),columns = [‘one’,’two’,’three’]) #創建一個數據框
df 內容
獲取所有的列名,並形成列表:list(df.keys())
獲取所有的行名,並形成列表:list(df.index)
如果要獲得某一個元素的具體位置可以使用:np.where(“條件”),如:np.where(df 0)
第一個arrary代表第幾行,第二個代表第幾列。
如,如何條件的元素存在在:第一行第三列,第三行第一列,….
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 。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247415.html