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

时间:2018-07-25 16:27:14

标签: python dataframe

我正在尝试使用以下代码创建数据框,但是它始终为空,我不确定为什么。有什么建议么?谢谢!

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)

2 个答案:

答案 0 :(得分:1)

对于数据框是什么,您似乎有些困惑。您的代码似乎无法识别DataFrame是具有行和列的二维数据结构。

执行variable_step[i] = ((start[i]*step_size)/100)时,您将在variable_step中创建一个新列,并将列标签设置为i的当前值,并将该列的每个元素初始化为{{ 1}},因为((start[i]*step_size)/100)是标量。

以这种方式创建新列不会添加更多行。它只是向现有行添加更多值-全部为0。您创建的每个新列的长度均为0,因为您从不创建行。

如果您想让我告诉您如何解决此问题,那么我不能,因为我不知道您甚至想做什么。

答案 1 :(得分:0)

您在此处初始化空数据框:

variable_step = pd.DataFrame()

假设您打算将列表放入数据框,则应该:

variable_step = pd.DataFrame(start) # or any other list you need

此外,您可以在上一循环的数据框中按索引寻址项目,以在数据框为空时分配值。 使用.append()代替