Como obter um valor a partir de uma célula de um Pandas DataFrame
-
ilocpara obter valor de uma célula de um PandasDataFrame -
O
iate oatpara obter valor de uma célula de um PandasDataFrame -
df['col_name'].values[]para obter valor de uma célula de um Dataframe de Pandas
Introduziremos métodos para obter o valor de uma célula em Pandas DataFrame. Eles incluem iloc e iat. O ['col_name'].values[] é também uma solução especialmente se não quisermos obter o tipo de retorno como pandas.Series.
iloc para obter valor de uma célula de um Pandas DataFrame
O iloc é a maneira mais eficiente de obter um valor da célula de um Pandas DataFrame. Digamos, temos um DataFrame com os nomes das colunas como price e stock, e queremos obter um valor da 3ª fileira para verificar o preço e a disponibilidade de estoque.
Primeiro, precisamos acessar as linhas e depois o valor utilizando o nome da coluna.
Códigos de exemplo:
# 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"])
Resultado:
7
Yes
O iloc obtém linhas (ou colunas) em determinadas posições no índice. É por isso que só é necessário um número inteiro como argumento. E loc recebe linhas (ou colunas) com rótulos particulares do índice.
O iat e o at para obter valor de uma célula de um Pandas DataFrame
O iat e o at são acessos rápidos para que os escalares obtenham valor de uma célula de um Pandas DataFrame.
Códigos de exemplo:
# 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"])
Resultado:
orange
No
Para obter a última entrada de linha, utilizaremos at[df.index[-1],'stock'].
Códigos de exemplo:
# 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"])
Resultado:
Yes
df['col_name'].values[] para obter valor de uma célula de um Dataframe de Pandas
Os valores da coluna df['col_name'].values[] irão primeiro converter a coluna datafarme em array 1-D e depois acessar o valor no índice desse array:
Códigos de exemplo:
# 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])
Resultado:
Yes
Não retorna um pandas.Series, e é o mais simples de usar.
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum