猿问

为什么我的数据框仍然为空?

我正在尝试通过以下代码制作数据框,但它始终为空,我不确定为什么。有什么建议么?谢谢!


step_size = 0.01

start = [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)


皈依舞
浏览 202回答 2
2回答

慕雪6442864

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

素胚勾勒不出你

您可以在此处初始化空数据框:variable_step = pd.DataFrame()假设您打算将列表放入数据框中,则应该:variable_step = pd.DataFrame(start) # or any other list you need同样,您可以在上一循环的数据框中按索引寻址项目,以在数据框为空时分配值。使用.append()代替
随时随地看视频慕课网APP

相关分类

Python
我要回答