0

这是我的示例代码:

from window_slider import Slider
import numpy
list = numpy.array([0, 1, 2, 3, 4, 5, 6, 7 ,8])
bucket_size = 3
overlap_count = 0
slider = Slider(bucket_size,overlap_count)
slider.fit(list)       
while True:
    window_data = slider.slide()
    print(window_data)
    if slider.reached_end_of_list(): break

这显示了我的输出:

[0 1 2]
[3 4 5]
[6 7 8]

如果我试图将它保存在数据框中,它只会保存 numpy 数组的最后一个值,即 [6 , 7 and 8] 。我想将它们全部保存在不同的数据框中,有人可以帮我解决这个问题吗?

4

2 回答 2

0

尝试使用字典:

d = {}
c = 0
while True:
    c += 1
    window_data = slider.slide()
    d['df%s'%c] = window_data
    if slider.reached_end_of_list(): break

毕竟只需要使用d['df1']and等.. 来访问,如果你想让它们像andd['df2']一样直接访问,在代码末尾添加以下行:df1df2

locals().update(d)

然后df1并且df2将工作。

于 2019-11-05T10:52:21.473 回答
0

您可以使用列表将其存储在列表列表中:

from window_slider import Slider
import numpy
import pandas as pd
list = numpy.array([0, 1, 2, 3, 4, 5, 6, 7 ,8])
bucket_size = 3
overlap_count = 0
slider = Slider(bucket_size,overlap_count)
slider.fit(list) 

#Master list which consists of all the lists of arrays
output_list = []      
while True:
    window_data = slider.slide()
    #Convert the window_data array to a list
    output_df_list = window_data.tolist()
    #Append the "output_df_list" to the master list "output_list"
    output_list.append(output_df_list)
    print(window_data)
    if slider.reached_end_of_list(): break

输出:

print(output_list)
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
于 2019-11-05T11:06:07.720 回答