Python 3.x 熊猫:如何获取数据帧的第一行和最后一行的键(索引)

Python 3.x 熊猫:如何获取数据帧的第一行和最后一行的键(索引),python-3.x,pandas,Python 3.x,Pandas,我有一个带有日期时间索引和一个字段“myfield”的数据帧(df) 我想找出数据帧的第一个和最后一个日期时间 我可以访问第一个和最后一个dataframe元素,如下所示: df.iloc[0] df.iloc[-1] 对于df.iloc[0]我得到的结果是: myfield myfieldcontent 姓名:2017-07-24 00:00:00,数据类型:float 如何访问行的日期时间?您可以通过[0]或[-1]使用selectindex: df = pd.DataFrame({'my

我有一个带有日期时间索引和一个字段“myfield”的数据帧(df)

我想找出数据帧的第一个和最后一个日期时间

我可以访问第一个和最后一个dataframe元素,如下所示:

df.iloc[0]
df.iloc[-1]
对于
df.iloc[0]
我得到的结果是:

myfield myfieldcontent

姓名:2017-07-24 00:00:00,数据类型:float


如何访问行的日期时间?

您可以通过
[0]
[-1]
使用select
index

df = pd.DataFrame({'myfield':[1,4,5]}, index=pd.date_range('2015-01-01', periods=3))
print (df)
            myfield
2015-01-01        1
2015-01-02        4
2015-01-03        5

print (df.iloc[-1])
myfield    5
Name: 2015-01-03 00:00:00, dtype: int64

print (df.index[0])
2015-01-01 00:00:00

print (df.index[-1])
2015-01-03 00:00:00
这是完美的。为了提供另一种选择,如果您坚持使用
loc
,那么您应该首先
reset\u index

import pandas as pd

df = pd.DataFrame({'myfield': [1, 4, 5]}, index=pd.date_range('2015-01-01', periods=3))
df = df.reset_index()
print df['index'].iloc[0]
print df['index'].iloc[-1]

如果您使用的是pandas 1.1.4或更高版本,则可以使用“名称”属性

import pandas as pd

df = pd.DataFrame({'myfield': [1, 4, 5]}, index=pd.date_range('2015-01-01', periods=3))
df = df.reset_index()
print("Index value: ", df.iloc[-1].name) #pandas-series
#Convert to python datetime
print("Index datetime: ", df.iloc[-1].name.to_pydatetime())