如何從 Pandas DataFrame 單元格獲取值

  1. iloc 從 Pandas DataFrame 的單元中獲取價值
  2. 從 Pandas DataFrame 的單元中獲取 iatat 來獲取值
  3. df['col_name'].values[] 從 Pandas DataFrame 的單元格獲取值

我們將介紹使用 iloc 來從 Pandas DataFrame 的單元格中獲取值的方法,該方法非常適合按位置進行選擇;我們還會介紹它與 loc 的區別。我們還將學習 iat['col_name'].values[] 方法,當我們不想將返回型別設為 pandas.series 時,可以使用它們。

iloc 從 Pandas DataFrame 的單元中獲取價值

iloc 是從 Pandas dataframe 單元中獲取值的最有效方法。假設,我們有一個 DataFrame,其列的名稱分別為 pricestock,並希望從第三行獲取一個值以檢查價格和庫存狀況。

首先,我們需要訪問行,然後使用列名訪問值。

示例程式碼:

# python 3.x
import pandas as pd
df = pd.DataFrame({
    'name':
    ['orange','banana','lemon','mango','apple'],
    'price':
    [2,3,7,21,11],
    'stock':
    ['Yes','No','Yes','No','Yes']
})
print(df.iloc[2]['price'])
print(df.iloc[2]['stock'])

輸出:

7
Yes

iloc 在索引中的特定位置獲取行(或列)。這就是為什麼它僅採用整數作為引數的原因。然後 loc 從索引中獲取帶有特定標籤的行(或列)。

從 Pandas DataFrame 的單元中獲取 iatat 來獲取值

iatat 是標量的快速訪問方法,可從 Pandas Dataframe 的單元格中獲取值。

示例程式碼:

# python 3.x
import pandas as pd
df = pd.DataFrame({
    'name':
    ['orange','banana','lemon','mango','apple'],
    'price':
    [2,3,7,21,11],
    'stock':
    ['Yes','No','Yes','No','Yes']
})
print(df.iat[0,0])
print(df.at[1,'stock'])

輸出:

orange
No

為了獲得最後一行條目,我們將使用 at[df.index[-1],'stock']

示例程式碼:

# python 3.x
import pandas as pd
df = pd.DataFrame({
    'name':
    ['orange','banana','lemon','mango','apple'],
    'price':
    [2,3,7,21,11],
    'stock':
    ['Yes','No','Yes','No','Yes']
})
print(df.at[df.index[-1],'stock'])

輸出:

Yes

df['col_name'].values[] 從 Pandas DataFrame 的單元格獲取值

df['col_name'].values[] 首先將 Datafarme 列轉換為一維陣列,然後訪問該陣列索引處的值:

示例程式碼:

# python 3.x
import pandas as pd
df = pd.DataFrame({
    'name':
    ['orange','banana','lemon','mango','apple'],
    'price':
    [2,3,7,21,11],
    'stock':
    ['Yes','No','Yes','No','Yes']
})
print(df['stock'].values[0])

輸出:

Yes

它返回的不是 pandas.series,並且使用起來最簡單。

相關文章 - Pandas DataFrame

  • 如何計算值在 Pandas DataFrame 中出現的頻率
  • 在 Pandas 中把物件轉換為浮點型