Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Data Science by (17.6k points)
edited by

I have constructed a condition that extract exactly one row from my data frame:

d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]

Now I would like to take a value from a particular column:

val = d2['col_name']

But as a result I get a data frame that contains one row and one column (i.e. one cell). It is not what I need. I need one value (one float number). How can I do it in pandas?

1 Answer

0 votes
by (41.4k points)

If you have a DataFrame with only one row, then access the first (only) row as a Series using iloc, and then the value using the column name:

In [3]: sub_df

Out[3]:

          A         B

2 -0.133653 -0.030854

In [4]: sub_df.iloc[0]

Out[4]:

A   -0.133653

B   -0.030854

Name: 2, dtype: float64

In [5]: sub_df.iloc[0]['A']

Out[5]: -0.13365288513107493

Browse Categories

...