从多个Pandas DataFrame中提取首个日期的实现方法
获取排序后DataFrame的首个日期字符串
没问题,这事儿很简单!既然你所有的DataFrame都已经按Date索引排好序,首行就是最早的日期,咱们直接操作索引就能拿到想要的结果,还能轻松转成你需要的字符串格式。
方法1:直接取第一个索引元素(适合已排序的DataFrame)
因为你的DataFrame已经按Date索引升序排列,索引的第一个元素就是最早的日期,用index[0]就能获取,再通过strftime()转成YYYY-MM-DD格式的字符串:
# 获取df1的首个日期 first_day_df1 = df1.index[0].strftime("%Y-%m-%d") # 同理处理df2和df3 first_day_df2 = df2.index[0].strftime("%Y-%m-%d") first_day_df3 = df3.index[0].strftime("%Y-%m-%d")
运行后你就能得到:
first_day_df1 = "2017-09-11"first_day_df2 = "2017-01-13"first_day_df3 = "2017-08-21"
方法2:用index.min()获取最早日期(更鲁棒)
如果担心后续索引可能出现排序变动,用index.min()可以直接拿到索引中的最小日期(也就是最早的日期),不管当前索引是否排序,结果都准确:
first_day_df1 = df1.index.min().strftime("%Y-%m-%d")
这种方法兼容性更强,推荐在不确定索引是否会被修改的场景下使用。
内容的提问来源于stack exchange,提问作者jayko03
相关产品推荐
相关产品推荐

