首页 > 解决方案 > 在列中重复特定范围值并显示在数据框中

问题描述

我是蟒蛇的新生儿。请在以下查询中帮助我:-

我的数据框(df)中有 8760 条记录(行),这样

Temperature
    5      
   10      
    8
    3
    1
    .
    .
    .

我想将特定范围值(1 到 7 或 1 到 365)分配给新列,然后将此范围重复到同一列中的最后一条记录。预期的结果是这样的:

DayNumber
    1
    2
    3
    4
    5
    6
    7
    1
    2
    3
    4
    5
    6
    7
    1
    2
    3
    .
    .
    .

我如何实现这种输出?

标签: pythonpandas

解决方案


我的方法更容易让你理解。由于我没有数据,我假设温度始终为 10 摄氏度。你可以用你的来改变它。

import pandas as pd
temperature = [10] * 8760
days = []
row = 1
day = 1
while row <= 8760:
    days.append(day)
    day += 1
    row += 1
    if day == 8:
        day = 1
data = {"temperature": temperature, "day": days}
df = pd.DataFrame(data=data)

推荐阅读