Tob*_*Mao 5 python dataframe pandas
在熊猫中,我有一个按时间戳索引的数据帧。看起来像下表:
A B C D
DATE
2018-01-17 157.52 163.74 157.28 159.84
2018-01-16 158.25 159.35 155.93 157.40
2018-01-15 157.15 159.59 156.79 158.86
2018-01-12 158.25 158.62 157.40 157.52
Run Code Online (Sandbox Code Playgroud)
我正在尝试按索引选择一行,并选择接下来的几行。(例如,选择从 2018-01-12 开始的两行)。我发现 .loc 和 .iloc 都很难完成这样的任务。有没有其他方法可以做到这一点?
Yan*_*niv 10
解决方案#1:使用 DataFrame 的索引,然后是head(2):
df['2018-01-12':].head(2)
Run Code Online (Sandbox Code Playgroud)
解决方案#2:使用iloc:
i = df.index.get_loc('2018-01-12')
df.iloc[i:i+2]
Run Code Online (Sandbox Code Playgroud)
奖励解决方案#3:您似乎正在分析股票数据。也许您对使用滚动窗口可以更有效地完成的事情感兴趣?(可能是移动平均线?)考虑使用rolling,例如计算滚动平均值:
df.rolling(2).mean()
Run Code Online (Sandbox Code Playgroud)