2024-04-19 01:06:07 发布
网友
我有一个DataFrame,正在尝试选择一行(给定一个特定索引)和它前面的n行。你知道吗
DataFrame
n
我试过这样的方法:
last_10 = self.market_data.iloc[index:-10]
但这似乎给出了从index到数据帧末尾减去10行的所有内容。你知道吗
index
我希望返回index指定的行和它前面的10行
使用此选项:
n = 10 last_10 = self.market_data.iloc[index-n:index+1]
在对数组进行切片时,Python会返回直到最后一个索引为止的所有内容,因此需要添加一个索引来包含它。你知道吗
如果像DatetimeIndex这样的一般索引使用^{}和^{}作为val的位置:
DatetimeIndex
val
print (market_data) val Date 1900-01-01 2.0 1900-01-02 3.0 1900-01-03 5.1 1900-01-04 5.0 1900-01-05 6.0 1900-01-06 7.0 1900-01-07 3.0 n = 3 val = '1900-01-04' pos = market_data.index.get_loc(val) last_10 = market_data.iloc[pos-n+1:pos+1] print (last_10) val Date 1900-01-02 3.0 1900-01-03 5.1 1900-01-04 5.0
如果RangeIndex-在索引4之前获取3个值,请使用^{}:
RangeIndex
4
print (market_data) Date val 0 1900-01-01 2.0 1 1900-01-02 3.0 2 1900-01-03 5.1 3 1900-01-04 5.0 4 1900-01-05 6.0 5 1900-01-06 7.0 6 1900-01-07 3.0 n = 3 val = 4 last_10 = market_data.loc[val-n+1:val] print (last_10) Date val 2 1900-01-03 5.1 3 1900-01-04 5.0 4 1900-01-05 6.0
使用此选项:
在对数组进行切片时,Python会返回直到最后一个索引为止的所有内容,因此需要添加一个索引来包含它。你知道吗
如果像} 和^{} 作为
DatetimeIndex
这样的一般索引使用^{val
的位置:如果} :
RangeIndex
-在索引4
之前获取3个值,请使用^{相关问题 更多 >
编程相关推荐