熊猫以时间为索引获取特定日期的行数
Posted
技术标签:
【中文标题】熊猫以时间为索引获取特定日期的行数【英文标题】:Pandas get number of row for specific date with time as index 【发布时间】:2021-12-22 15:20:41 【问题描述】:我有一个以日期时间为索引的数据框(列中的值无关紧要)。当索引等于特定日期(2021/06/25 16:00:00
)时,我想提取行号。我怎样才能做到这一点 ?我发现的唯一方法是添加一个计数列并使用loc
,但我想知道是否有更好的方法。
import pandas as pd
from datetime import date, datetime, timedelta
sdate = datetime(2021,6,5,14) # Start date
edate = datetime(2021,6,30) # End Date
date_to_find = datetime(2021,6,25,16)
df = pd.DataFrame(index=pd.date_range(sdate, edate, freq='H')) # Create a dataframe with date as index, every hour
df.insert(0, 'row_num', range(0,len(df))) # here you insert the row count
df.loc[df.index == date_to_find]['row_num'][0] # Grab the row number for which the index equals the date to find
【问题讨论】:
【参考方案1】:你可以试试,
df.index.get_loc(date_to_find)
速度更快,可读性更强。
【讨论】:
太好了,谢谢!!以上是关于熊猫以时间为索引获取特定日期的行数的主要内容,如果未能解决你的问题,请参考以下文章