How to get a value from a Pandas DataFrame and not the index and object type
Rise to the top 3% as a developer or hire one of them at Toptal: https://topt.al/25cXVn
--------------------------------------------------
Music by Eric Matyas
https://www.soundimage.org
Track title: Hypnotic Puzzle3
--
Chapters
00:00 How To Get A Value From A Pandas Dataframe And Not The Index And Object Type
00:35 Accepted Answer Score 251
01:01 Answer 2 Score 95
01:30 Answer 3 Score 4
01:46 Answer 4 Score 4
02:06 Answer 5 Score 1
02:17 Thank you
--
Full question
https://stackoverflow.com/questions/3078...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #pandas #dataframe
#avk47
ACCEPTED ANSWER
Score 252
df[df.Letters=='C'].Letters.item()
This returns the first element in the Index/Series returned from that selection. In this case, the value is always the first element.
EDIT:
Or you can run a loc() and access the first element that way. This was shorter and is the way I have implemented it in the past.
ANSWER 2
Score 95
Use the values attribute to return the values as a np array and then use [0] to get the first value:
In [4]:
df.loc[df.Letters=='C','Letters'].values[0]
Out[4]:
'C'
EDIT
I personally prefer to access the columns using subscript operators:
df.loc[df['Letters'] == 'C', 'Letters'].values[0]
This avoids issues where the column names can have spaces or dashes - which mean that accessing using ..
ANSWER 3
Score 4
import pandas as pd
dataset = pd.read_csv("data.csv")
values = list(x for x in dataset["column name"])
>>> values[0]
'item_0'
edit:
actually, you can just index the dataset like any old array.
import pandas as pd
dataset = pd.read_csv("data.csv")
first_value = dataset["column name"][0]
>>> print(first_value)
'item_0'
ANSWER 4
Score 4
You can use loc with the index and column labels.
df.loc[2, 'Letters']
# 'C'
If you prefer the "Numbers" column as reference, you can set it as index.
df.set_index('Numbers').loc[3, 'Letters']
I find this cleaner as it does not need the [0] or .item().