国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

69_Pandas.DataFrame獲取行號和列號

這篇具有很好參考價值的文章主要介紹了69_Pandas.DataFrame獲取行號和列號。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

69_Pandas.DataFrame獲取行號和列號

將講解如何從pandas.DataFrame的行名和列名中獲取行號和列號,以及如何從列元素的值中獲取行名和行號。
下面對內容進行說明。

  • 根據(jù)行名和列名獲取行號和列號
    • get_loc() 方法
      • 當行名和列名重復時
    • 列表索引、列
  • 從列元素值獲取行名稱和行號

如果想從行號或列號中獲取行、列或元素的值,請參考下面的文章。

  • 04_Pandas獲取和修改任意位置的值(at,iat,loc,iloc)
  • 28_Pandas通過index選擇并獲取行和列

以下面的 pandas.DataFrame 為例。

import pandas as pd

df = pd.read_csv('data/sample_pandas_normal.csv', index_col=0)

print(df)
#          age state  point
# name
# Alice     24    NY     64
# Bob       42    CA     92
# Charlie   18    CA     70
# Dave      68    TX     70
# Ellen     24    CA     88
# Frank     30    NY     57

根據(jù)行名和列名獲取行號和列號

get_loc() 方法

有一個名為 get_loc() 的方法用于獲取 pandas.DataFrame 的索引和列。

如果指定行名或列名作為參數(shù),則將返回行號和列號。行號和列號都是從0開始的整數(shù)。 行號是從索引中獲取的。

print(df.index.get_loc('Alice'))
# 0

print(df.index.get_loc('Ellen'))
# 4

列號是從列中獲得的。

print(df.columns.get_loc('age'))
# 0

print(df.columns.get_loc('point'))
# 2

無論哪種情況,對于不存在的名稱都會發(fā)生 KeyError 錯誤。

# print(df.index.get_loc('XXX'))
# KeyError: 'XXX'

# print(df.columns.get_loc('XXX'))
# KeyError: 'XXX'

當行名和列名重復時

如果行名或列名重復,請小心。以下示例使用重復的行名稱,但這同樣適用于列名稱。 使用 rename() 方法更改行名稱并準備重復的行名稱。

  • 01_Pandas.DataFrame的行名和列名的修改
df_dup = df.rename(index={'Charlie': 'Bob'})
print(df_dup)
#        age state  point
# name                   
# Alice   24    NY     64
# Bob     42    CA     92
# Bob     18    CA     70
# Dave    68    TX     70
# Ellen   24    CA     88
# Frank   30    NY     57

在這種情況下,get_loc()方法返回一個切片類型對象而不是行號。

print(df_dup.index.get_loc('Bob'))
# slice(1, 3, None)

print(type(df_dup.index.get_loc('Bob')))
# <class 'slice'>

添加更多重復的行名稱。

df_dup.rename(index={'Ellen': 'Bob'}, inplace=True)
print(df_dup)
#        age state  point
# name                   
# Alice   24    NY     64
# Bob     42    CA     92
# Bob     18    CA     70
# Dave    68    TX     70
# Bob     24    CA     88
# Frank   30    NY     57

如果無法用切片表示,則它將是 bool 類型的 NumPy 數(shù)組 numpy.ndarray。

print(df_dup.index.get_loc('Bob'))
# [False  True  True False  True False]

print(type(df_dup.index.get_loc('Bob')))
# <class 'numpy.ndarray'>

slice 對象和 bool 類型數(shù)組都可以用于索引引用和 iloc 定位。 bool 類型數(shù)組也可以與 loc 一起使用。

  • 04_Pandas獲取和修改任意位置的值(at,iat,loc,iloc)
  • 28_Pandas通過index選擇并獲取行和列
print(df_dup[df_dup.index.get_loc('Bob')])
#       age state  point
# name                  
# Bob    42    CA     92
# Bob    18    CA     70
# Bob    24    CA     88

print(df_dup.iloc[df_dup.index.get_loc('Bob'), 0])
# name
# Bob    42
# Bob    18
# Bob    24
# Name: age, dtype: int64

注意,對于索引,可以使用query()方法提取元素,而不需要使用get_loc()獲取切片對象或bool類型數(shù)組。

print(df_dup.query('index == "Bob"'))
#       age state  point
# name                  
# Bob    42    CA     92
# Bob    18    CA     70
# Bob    24    CA     88

即使行名和列名重復,如果您想要獲取行號和列號而不是切片對象或 bool 類型數(shù)組,請按如下所述列出索引和列。

列表索引、列

索引和列可以使用list()轉換為標準Python列表(列表類型對象)。

l_index = list(df.index)
print(l_index)
# ['Alice', 'Bob', 'Charlie', 'Dave', 'Ellen', 'Frank']

print(type(l_index))
# <class 'list'>

l_columns = list(df.columns)
print(l_columns)
# ['age', 'state', 'point']

print(type(l_columns))
# <class 'list'>

可以使用列表的 index() 方法獲取索引(元素數(shù)量)。

print(l_index.index('Bob'))
# 1

如果行名稱重復,您可以使用內置函數(shù) enumerate() 和列表理解來獲取索引列表。

l_index_dup = list(df_dup.index)
print(l_index_dup)
# ['Alice', 'Bob', 'Bob', 'Dave', 'Bob', 'Frank']

print([i for i, x in enumerate(l_index_dup) if x == 'Bob'])
# [1, 2, 4]

從列元素值獲取行名稱和行號

我們不會從行名和列名中獲取行號和列號,而是向您展示如何從任意列的元素中獲取相應的行名和行號。 繼續(xù)使用下面的 pandas.DataFrame 作為示例。

print(df)
#          age state  point
# name                     
# Alice     24    NY     64
# Bob       42    CA     92
# Charlie   18    CA     70
# Dave      68    TX     70
# Ellen     24    CA     88
# Frank     30    NY     57

可以使用 query() 方法根據(jù)任何列中元素的條件提取行。返回值是pandas.DataFrame。

print(df.query('state == "CA"'))
#          age state  point
# name                     
# Bob       42    CA     92
# Charlie   18    CA     70
# Ellen     24    CA     88

通過列出使用 query() 提取的 pandas.DataFrame 的索引,可以獲得特定值的行名稱列表。

print(list(df.query('state == "CA"').index))
# ['Bob', 'Charlie', 'Ellen']

如果僅提取一行,則同樣適用。如果您想要行名稱值而不是列表,只需獲取索引的第一個元素 [0] 即可。

print(df.query('state == "TX"'))
#       age state  point
# name                  
# Dave   68    TX     70

print(list(df.query('state == "TX"').index))
# ['Dave']

print(df.query('state == "TX"').index[0])
# Dave

如果想獲取行號而不是行名,請使用reset_index()將索引重置為從0開始的連續(xù)數(shù)字,然后執(zhí)行相同的過程。文章來源地址http://www.zghlxwxcb.cn/news/detail-790765.html

  • 21_Pandas.DataFrame,重置Series的索引index(reset_index)
print(df.reset_index())
#       name  age state  point
# 0    Alice   24    NY     64
# 1      Bob   42    CA     92
# 2  Charlie   18    CA     70
# 3     Dave   68    TX     70
# 4    Ellen   24    CA     88
# 5    Frank   30    NY     57

print(list(df.reset_index().query('state == "CA"').index))
# [1, 2, 4]

print(list(df.reset_index().query('state == "TX"').index))
# [3]

print(df.reset_index().query('state == "TX"').index[0])
# 3

到了這里,關于69_Pandas.DataFrame獲取行號和列號的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 有一個m行n列的矩陣,編程求出其中值最大的那個元素,以及其所在的行號和列號。

    【題目描述】 有一個m行n列的矩陣,編程求出其中值最大的那個元素,以及其所在的行號和列號。(如果最大數(shù)有多個,則顯示第一個出現(xiàn)的數(shù)據(jù)的信息)。 【輸入】 有多行。第1行是兩個整數(shù),m(m≤10)和n(n≤10),分別表示矩陣有m行n列。接下來是m行整數(shù),每行n個整數(shù)

    2024年02月12日
    瀏覽(96)
  • 有一個m×n的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。???????

    【問題描述】 有一個m×n的矩陣,要求編程序求出其中值最大的那個元素的值,以及其所在的行號和列號。 【算法代碼】 ?

    2024年02月12日
    瀏覽(25)
  • python中Pandas之DataFrame索引、選取數(shù)據(jù)

    總結一下 DataFrame 索引問題 先創(chuàng)建一個簡單的 DataFrame 。 DataFrame 中有兩種索引: 行索引( index ):對應最左邊那一豎列 列索引( columns ):對應最上面那一橫行 兩種索引默認均為從 0 開始的自增整數(shù)。 可以使用 index 這個參數(shù)指定行索引, columns 這個參數(shù)指定列索引。 輸出此時

    2023年04月08日
    瀏覽(19)
  • 【pandas】Python讀取DataFrame的某行或某列

    【pandas】Python讀取DataFrame的某行或某列

    行索引(index) :對應最左邊那一豎列 列索引(columns) :對應最上面那一橫行 .loc[]官方釋義: Access a group of rows and columns by label(s) or a boolean array.(通過標簽或布爾數(shù)組訪問一組行和列) 官方鏈接 loc使用索引來取值,基礎用法 df.loc[[行索引],[列索引]] .iloc[]官方釋義: Purely inte

    2024年02月08日
    瀏覽(21)
  • 【python】【pandas】dataframe按照列名給列排序

    輸出結果: 在上述代碼中,我們首先創(chuàng)建了一個示例DataFrame。然后,我們使用 sort_values() 方法對DataFrame的列進行排序。通過指定 by=df.columns ,我們將按照列名的字母順序對列進行排序。最后,通過設置 axis=1 參數(shù),我們指定按列進行排序。 執(zhí)行上述代碼后,DataFrame的列將按照

    2024年02月15日
    瀏覽(22)
  • 【Python】【pandas】打印 DataFrame 的每一列數(shù)據(jù)類型。

    可以使用 dtypes 屬性來打印 DataFrame 的每一列數(shù)據(jù)類型。 dtypes 屬性返回一個 Series,其中包含每個列的名稱和對應的數(shù)據(jù)類型。 以下是打印 DataFrame 每一列數(shù)據(jù)類型的示例代碼: 這將輸出一個包含列名和數(shù)據(jù)類型的 Series。每一行都代表 DataFrame 的一列,列名作為索引,數(shù)據(jù)類

    2024年02月14日
    瀏覽(33)
  • 【python】【pandas】讀取DataFrame的某一列形成一個列表

    輸出結果: 在上述代碼中,我們創(chuàng)建了一個示例DataFrame df ,其中包含三列(\\\'A\\\'、\\\'B\\\'、\\\'C\\\'),每列都有一些示例值。 然后,我們使用 df.iloc[:, 1] 來訪問DataFrame的第一列。這里的 iloc[:, 1] 表示選擇所有行(使用 : ),并選擇索引為1的列(即第二列)。 接下來,我們使用 tolist

    2024年02月11日
    瀏覽(29)
  • 【python】pandas-DataFrame類型數(shù)據(jù)重命名列表頭

    【python】pandas-DataFrame類型數(shù)據(jù)重命名列表頭

    目錄 0.環(huán)境 1.將DataFrame類型數(shù)據(jù)某一列重命名 windows + jupyter notebook + python? 使用場景: 在處理數(shù)據(jù)對齊的問題時,兩個表格的對齊列名不相同(一個數(shù)據(jù)集是DataFrame類型,一個數(shù)據(jù)集是geopandas類型),所以想修改一下DataFrame類型數(shù)據(jù)的某一列名字,特此記錄分享 1)重命名前

    2024年02月14日
    瀏覽(35)
  • Python中Pandas庫提供的函數(shù)——pd.DataFrame的基本用法

    pd.DataFrame 是 Pandas 庫中的一個類,用于創(chuàng)建和操作數(shù)據(jù)框(DataFrame)。DataFrame 是 Pandas 的核心數(shù)據(jù)結構,用于以表格形式和處理數(shù)據(jù),類似提供電子表格或數(shù)據(jù)庫表格。類了創(chuàng)建 pd.DataFrame 數(shù)據(jù)框、訪問數(shù)據(jù)、進行數(shù)據(jù)操作和分析的方法和屬性。 表格形式 :DataFrame是一個二維

    2024年02月05日
    瀏覽(30)
  • Python 之 Pandas DataFrame 數(shù)據(jù)類型的簡介、創(chuàng)建的列操作

    Python 之 Pandas DataFrame 數(shù)據(jù)類型的簡介、創(chuàng)建的列操作

    DataFrame 是 Pandas 的重要數(shù)據(jù)結構之一,也是在使用 Pandas 進行數(shù)據(jù)分析過程中最常用的結構之一,可以這么說,掌握了 DataFrame 的用法,你就擁有了學習數(shù)據(jù)分析的基本能力。 DataFrame 是一個表格型的數(shù)據(jù)結構,既有行標簽(index),又有列標簽(columns),它也被稱異構數(shù)據(jù)表

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包