我正在嘗試通過以下代碼制作數據框,但它始終為空,我不確定為什么。有什么建議么?謝謝!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
提交
取消