Python 在中重新采样后索引的长度

Python 在中重新采样后索引的长度,python,pandas,Python,Pandas,我有5个相同长度的列表,i0、i1、i2、i3和i4,每个列表的数据来自特定的工作日。例如,i0的数据来自周一的数据,i1包含来自周二的数据,等等。 现在,我将基于每周一天向每个列表添加一个索引,因为接下来我将把这些新的“小”数据帧(x1,x2,x3,x4和x5)添加到一个更大的数据帧“df” 我是这样做的: listweek = ['W-MON','W-TUE','W-WED','W-THU','W-FRI'] for u,v in enumerate(listweek):

我有5个相同长度的列表,
i0、i1、i2、i3
i4
,每个列表的数据来自特定的工作日。例如,
i0的
数据来自周一的数据,
i1
包含来自周二的数据,等等。
现在,我将基于每周一天向每个列表添加一个索引,因为接下来我将把这些新的“小”数据帧(
x1
x2
x3
x4
x5
)添加到一个更大的数据帧“
df

我是这样做的:

listweek = ['W-MON','W-TUE','W-WED','W-THU','W-FRI']

for u,v in enumerate(listweek):    
        r = "x{0} = pd.DataFrame(i[{0}]).set_index(df.resample('{1}').index)".format(u,v)    
        exec r
出现这个问题是因为在执行
df.resample({1}').index
时,这有时会有不同的长度。 比如说

len(df.重采样('W-MON')。索引)=886

len(测向重采样('W-TUE')索引)=885

因此,这会导致代码中断,并出现以下错误:

ValueError: Length mismatch: Expected axis has 886 elements, new values have 885 elements
正确的做法应该是什么

(添加原始df的片段)


表示u,v英寸[(u,v)表示u,v英寸拉链(范围(5),列表周)]
?enumerate(listweek)
中u,v的
有什么问题吗?这也没问题,但仍然无法解决问题。这就是为什么我将其作为评论而不是答案发布的原因;)另外,这不是“很好”,这是进行循环枚举的正确方法。@LeartS你是对的。刚刚编辑。谢谢。我认为你应该从头开始重新考虑你的战略。不要使用Python构建包含Python命令的文本字符串。你能不能只制作数据框,然后命名列?
代表u,v in[(u,v)代表u,v in zip(范围(5),列表周)]
?enumerate(listweek)
中u,v的
有什么问题吗?这也没问题,但仍然无法解决问题。这就是为什么我将其作为评论而不是答案发布的原因;)另外,这不是“很好”,这是进行循环枚举的正确方法。@LeartS你是对的。刚刚编辑。谢谢。我认为你应该从头开始重新考虑你的战略。不要使用Python构建包含Python命令的文本字符串。你不能先创建数据框,然后命名列吗?