Pandas - Get first row value of a given column

This seems like a ridiculously easy question... but I'm not seeing the easy answer I was expecting.

So, how do I get the value at an nth row of a given column in Pandas? (I am particularly interested in the first row, but would be interested in a more general practice as well).

For example, let's say I want to pull the 1.2 value in Btime as a variable.

Whats the right way to do this?

df_test =

      ATime   X   Y   Z   Btime  C   D   E
    0    1.2  2  15   2    1.2  12  25  12
    1    1.4  3  12   1    1.3  13  22  11
    2    1.5  1  10   6    1.4  11  20  16
    3    1.6  2   9  10    1.7  12  29  12
    4    1.9  1   1   9    1.9  11  21  19
    5    2.0  0   0   0    2.0   8  10  11
    6    2.4  0   0   0    2.4  10  12  15

To select the ith row, use iloc:

    In [31]: df_test.iloc[0]
    Out[31]: 
    ATime     1.2
    X         2.0
    Y        15.0
    Z         2.0
    Btime     1.2
    C        12.0
    D        25.0
    E        12.0
    Name: 0, dtype: float64

To select the ith value in the Btime column you could use:

    In [30]: df_test['Btime'].iloc[0]
    Out[30]: 1.2

Warning : I had previously suggested df_test.ix[i, 'Btime']. But this is not guaranteed to give you the ith value since ix tries to index by label before trying to index by position. So if the DataFrame has an integer index which is not in sorted order starting at 0, then using ix[i] will return the row labeled i rather than the ith row. For example,

    In [1]: df = pd.DataFrame({'foo':list('ABC')}, index=[0,2,1])

    In [2]: df
    Out[2]: 
      foo
    0   A
    2   B
    1   C

    In [4]: df.ix[1, 'foo']
    Out[4]: 'C'

From: stackoverflow.com/q/25254016

Back to homepage or read more recommendations: