我有多个包含
的数据框Name - category - type
---------------------------
Date - index - datetime64
X - variable - str
Y - variable - str
所有数据框都按其索引(Date
)排序。因此,第一个条目是每个数据帧的最早日期。
df1
Date X Y
2017-09-11 foo bar
2017-09-12 foo bar
df2
Date X Y
2017-01-13 foo bar
2017-02-12 foo bar
df3
Date X Y
2017-08-21 foo bar
2017-10-12 foo bar
我想获得每个帧的first_day
,例如,
first_day_df1 = "2017-09-11"
first_day_df2 = "2017-01-13"
first_day_df3 = "2017-10-12"
我已尝试过iloc
,loc
,只是编制索引,但没有运气
df.iloc[0]
返回此条目中的所有变量,df.iloc[0].index
返回变量名称
df.loc[0]
和df[0]
当然会抛出错误。任何帮助赞赏!
*
大熊猫:0.22.0
python:3.6
答案 0 :(得分:1)
我认为需要按[0]
选择索引的第一个值,因为已排序DatetimeIndex
:
df1.index[0]
如果没有排序:
df1.index.min()
如果所有DataFrames
都在列表中:
dfs = [df1, df2, df3]
L = [x.index[0] for x in dfs]
答案 1 :(得分:0)
只需使用切片+ max():
s = Goodbye()
如果"日期"是索引,然后:
first_day_df1 = df1["Date"].min()
答案 2 :(得分:0)
您也可以尝试:
first_day1 = df1.head(1)
这仅在daraframe已排序时才有效。