这是我的示例代码
dataset_current=dataset_seq['Motor_Current_Average']
dataset_consistency=dataset_seq['Consistency_Average']
#technique with non-overlapping the values(for current)
dataset_slide=dataset_current.tolist()
from window_slider import Slider
import numpy
list = numpy.array(dataset_slide)
bucket_size = 336
overlap_count = 0
slider = Slider(bucket_size,overlap_count)
slider.fit(list)
empty_dictionary = {}
count = 0
while True:
count += 1
window_data = slider.slide()
empty_dictionary['df_current%s'%count] = window_data
empty_dictionary['df_current%s'%count] =pd.DataFrame(empty_dictionary['df_current%s'%count])
empty_dictionary['df_current%s'%count]= empty_dictionary['df_current%s'%count].rename(columns={0: 'Motor_Current_Average'})
if slider.reached_end_of_list(): break
locals().update(empty_dictionary)
#technique with non-overlapping the values(for consistency)
dataset_slide_consistency=dataset_consistency.tolist()
list = numpy.array(dataset_slide_consistency)
slider_consistency = Slider(bucket_size,overlap_count)
slider_consistency.fit(list)
empty_dictionary_consistency = {}
count_consistency = 0
while True:
count_consistency += 1
window_data_consistency = slider_consistency.slide()
empty_dictionary_consistency['df_consistency%s'%count_consistency] = window_data_consistency
empty_dictionary_consistency['df_consistency%s'%count_consistency] =pd.DataFrame(empty_dictionary_consistency['df_consistency%s'%count_consistency])
empty_dictionary_consistency['df_consistency%s'%count_consistency]= empty_dictionary_consistency['df_consistency%s'%count_consistency].rename(columns={0: 'Consistency_Average'})
if slider_consistency.reached_end_of_list(): break
locals().update(empty_dictionary_consistency)
import pandas as pd
output_current ={}
increment = 0
while True:
increment +=1
output_current['dataframe%s'%increment] = pd.concat([empty_dictionary_consistency['df_consistency%s'%count_consistency],empty_dictionary['df_current%s'%count]],axis=1)
我的问题是我有两个字典,每个字典中包含79个数据帧,分别是“ empty_dictionary_consistency ”和“ empty_dictionary ”。我想为它们中的每一个创建一个新的数据框,以便将 empty_dictionary_consistency 中的df1与 empty_dictionary 中的df1连接。因此,它将从连接中的df1开始。 > empty_dictionary_consistency 和df1从 empty_dictionary 到df79从 empty_dictionary_consistency 到df79与 empty_dictionary 一起使用。我尝试使用while循环将其递增,但未显示任何输出。
output_current ={}
increment = 0
while True:
increment +=1
output_current['dataframe%s'%increment] = pd.concat([empty_dictionary_consistency['df_consistency%s'%count_consistency],empty_dictionary['df_current%s'%count]],axis=1)
有人可以帮助我吗?我该怎么做。
答案 0 :(得分:0)
我现在不在电脑旁,因此无法测试代码,但看来问题出在索引上。在最后一个循环中,在每次迭代中都递增一个名为“ increment”的变量,但仍将先前循环中的索引用于要连接的字典。尝试将用于索引所有字典的变量更改为“增量”。 还有一件事-我看不到这个循环何时结束?
UPD 我的意思是:
length = len(empty_dictionary_consistency)
increment = 0
while increment < length:
increment +=1
output_current['dataframe%s'%increment] = pd.concat([empty_dictionary_consistency['df_consistency%s'%increment],empty_dictionary['df_current%s'%increment]],axis=1)
在遍历字典时,应使用递增的变量作为所有三个字典的索引。而且,一旦在循环中不使用Slider对象,就必须在第一个字典结束时将其停止。