从许多熊猫数据框中挑选第一天

时间:2018-03-28 04:25:49

标签: python pandas datetime dataframe

我有多个包含

的数据框
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"

我已尝试过ilocloc,只是编制索引,但没有运气 df.iloc[0]返回此条目中的所有变量,df.iloc[0].index返回变量名称  df.loc[0]df[0]当然会抛出错误。任何帮助赞赏!
*
大熊猫:0.22.0
python:3.6

3 个答案:

答案 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已排序时才有效。