首页 > 解决方案 > 使用 iloc 获取 itertuples、数据帧中的最后 N 行

问题描述

我有一个看起来像这样的数据集

43466   1323.507803
43467   1396.948621
43468   1481.437362
43469   1611.111671
43470   1379.217261
43471   1425.450351

我正在尝试使用 Python Pandas 遍历数据集,并为每天设置 x 和 y 轴以查看最后 30 个,这里我使用较小的集合来进行更短的解释 - 最后 3 天

我已经正确地遍历了行,但我不确定为什么这不起作用。

我在用

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

dataset = pd.read_csv('~/Desktop/test2.csv')
df = pd.DataFrame(dataset)
for row in dataset.head(2).itertuples():
    #print(row.Date)
    print(dataset.loc[dataset["Date"]==row.Date].tail(5)) 

我目前得到的是:

  Date  Usage
0  43466.0   1323.507803
  Date  Usage
1  43467.0   1396.948621

如果我遍历该行-我希望每个打印输出都从日期 == 到行的位置开始。循环的日期。最终的打印应该是这样的

行索引 0 打印

43466   1323.507803

行索引 1 打印

43466   1323.507803
43467   1396.948621

行索引 2 打印

43466   1323.507803
43467   1396.948621
43468   1481.437362

. . . . . 一直到行索引 5 打印

43466   1323.507803
43467   1396.948621
43468   1481.437362
43469   1611.111671
43470   1379.217261
43471   1425.450351

标签: pythonpandasloops

解决方案


推荐阅读