我正在尝试通过以下代码制作数据框,但它始终为空,我不确定为什么。有什么建议么?谢谢!step_size = 0.01start = [100]iter_list = list(range(10000))for i in iter_list: start.append(start[i] - step_size)iter_list2 = list(range(len(start)))variable_step = pd.DataFrame()for i in iter_list2: variable_step[i] = ((start[i]*step_size)/100)
2 回答

慕雪6442864
TA贡献1812条经验 获得超5个赞
看起来您可能对数据帧有某种困惑。您的代码似乎无法识别DataFrame是具有行和列的二维数据结构。
这样做时variable_step[i] = ((start[i]*step_size)/100)
,您将在中创建新列,variable_step
并将列标签设置为的当前值i
,并将该列的每个元素初始化为((start[i]*step_size)/100)
,因为((start[i]*step_size)/100)
它是标量。
以这种方式创建新列不会添加更多行。它只是将更多的值添加到现有行中-全部为0。您创建的每个新列的长度均为0,因为您从不创建行。
如果您要我告诉您如何解决此问题,那么,我不能,因为我不知道您甚至想做什么。

素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
您可以在此处初始化空数据框:
variable_step = pd.DataFrame()
假设您打算将列表放入数据框中,则应该:
variable_step = pd.DataFrame(start) # or any other list you need
同样,您可以在上一循环的数据框中按索引寻址项目,以在数据框为空时分配值。使用.append()代替
添加回答
举报
0/150
提交
取消