如何使用Pandas生成包含重复date、time_of_day字段的目标结构DataFrame
原代码报错的核心原因是np.tile([pd.Series(range(1,31))],4)生成了二维数组结构,而Pandas DataFrame要求每列输入为一维结构,因此触发类型错误。
你可以用np.repeat配合np.tile快速实现需求,调整后代码如下:
import pandas as pd import numpy as np df = pd.DataFrame({ 'date': np.repeat(range(1, 31), 4), 'time_of_day': np.tile([1, 2, 3, 4], 30) })
代码逻辑说明:
np.repeat(range(1,31),4)会将1到30的每个整数依次重复4次,正好生成符合1,1,1,1,2,2,2,2...规律的120条date字段数据np.tile([1,2,3,4],30)会将[1,2,3,4]整个序列重复30次,正好生成按1、2、3、4循环排布的120条time_of_day字段数据
运行后调用df.head(8)即可查看前8行数据,和你预期的结构完全匹配。
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

