Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中创建一个一年中包含天和小时的数据框架?_Python_Python 3.x_Pandas_Loops_For Loop - Fatal编程技术网

如何在Python中创建一个一年中包含天和小时的数据框架?

如何在Python中创建一个一年中包含天和小时的数据框架?,python,python-3.x,pandas,loops,for-loop,Python,Python 3.x,Pandas,Loops,For Loop,我想创建一个包含一年中所有时间的熊猫数据框架。因此,8760小时中的每一小时都需要有行(365天*每天24小时)。这是相对简单的 但是,我还希望在数据框中有另一列对应于小时的天数。这意味着,直到24小时,这将是第一天。从25到28小时,应该是第2天(天列中的2)。应重复此操作,直到365天8760小时 这需要应用什么样的循环技术,我想创建一个数据框架,由一年中的小时和天的两列组成,如下所示: . . 填充“日”列的一种方法是,在填充“小时”列时,输入每天24小时的分区小时数: import

我想创建一个包含一年中所有时间的熊猫数据框架。因此,8760小时中的每一小时都需要有行(365天*每天24小时)。这是相对简单的

但是,我还希望在数据框中有另一列对应于小时的天数。这意味着,直到24小时,这将是第一天。从25到28小时,应该是第2天(天列中的2)。应重复此操作,直到365天8760小时

这需要应用什么样的循环技术,我想创建一个数据框架,由一年中的小时和天的两列组成,如下所示:

. .


填充“日”列的一种方法是,在填充“小时”列时,输入每天24小时的分区小时数:

import math    
day = math.ceil(hour / 24)
或者不导入数学模块,使用整数除法:

day = -(-hour//24)

也许你可以使用np.arange来创建小时数,然后除以24得到天数

大概是这样的:

import pandas as pd
import numpy as np

hours = np.arange(1, 8761)
df= pd.DataFrame(data=hours, columns = ["Hours of a Year"])
df['Days of a Year'] = ((df["Hours of a Year"]-1)//24)+1
print(df)
比如说

df=pd.DataFrame(范围(1,24*365+1),列=['hour']
df['day']=(df['hour']-1)//24+1

您尝试过什么,结果如何?请提供一份感谢信。我想我得到了答案。当小时1除以24时,我需要取商+1。这是一个好方法,但你需要考虑到小时数乘以24,它们将被视为第二天(即小时24:(24//24)+1=第二天,而应该是第1天,我想我得到了我的答案。答案是:((df[“一年的小时数”]-1)//24)+是的,那就对了!我会修改我的答案。