创建每列具有多个标题的数据框并循环填充数据框

果酱1

我想创建一个每列具有多个标题的Pandas数据框,并用循环中的数据逐行填充数据框。我之前已经创建了数据框,但是这对于我真正想做的事情来说似乎非常复杂,而且我不知道从哪里开始。

例:

step = list(range(1,5))
    for i in step:
        time = -2
        for j in range(0,5): # Time goes from -2 to 2
            one = time*0.5
            two = time*0.4
            score = one + two
            # Code populate dataframe with column time for one and two sub columns, 
            # and the score for the score column
            time += 1
        print("step %s " % i)

数据框外观的图片 数据框

pp

您可以pd.DataFrame在指定index和时使用构造函数columns重要的是使用MultiIndex列:

idx = pd.Index([f'step {i}' for i in range(1, 5)], name='time')
cols = pd.MultiIndex.from_tuples([(i, j) for i in range(-2, 3) for j in ('one', 'two')])

df = pd.DataFrame(index=idx, columns=cols)

然后,您可以pd.DataFrame.at通过标签填充值以进行快速标量设置:

df.at['step 1', (-2, 'two')] = 2
df.at['step 3', (0, 'one')] = 5

print(df)

         -2        -1         0         1         2     
        one  two  one  two  one  two  one  two  one  two
time                                                    
step 1  NaN    2  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
step 2  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN
step 3  NaN  NaN  NaN  NaN    5  NaN  NaN  NaN  NaN  NaN
step 4  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN  NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章