Pandas 使用for loop-->;从旧数据帧行创建新数据帧列;不适用值

Pandas 使用for loop-->;从旧数据帧行创建新数据帧列;不适用值,pandas,for-loop,dataframe,Pandas,For Loop,Dataframe,我创建了一个数据帧df1: df1 = pd.read_csv('FBK_var_conc_1.csv', names = ['Cycle', 'SQ']) df1 = df1['SQ'].copy() df1 = df1.to_frame() df1.head(n=10) SQ 0 2430.0 1 2870.0 2 2890.0 3 3270.

我创建了一个数据帧df1:

df1 = pd.read_csv('FBK_var_conc_1.csv', names = ['Cycle', 'SQ'])  
df1 = df1['SQ'].copy()                            
df1 = df1.to_frame()                               
df1.head(n=10)


    SQ
0   2430.0
1   2870.0
2   2890.0
3   3270.0
4   3350.0
5   3520.0
6   26900.0
7   26300.0
8   28400.0
9   3230.0
然后创建了第二个数据帧df2,我想用DF1的行值填充它:

df2 = pd.DataFrame()
for x in range(12):
    y='Experiment %d' % (x+1)
    df2[y]= df1.iloc[3*x:3*x+3]
df2
我从df2中的实验1-实验12中得到列名,第一列用正确的值填充,但后面的所有列都用N/A填充

>       Experiment 1    Experiment 2    Experiment 3    Experiment 4    Experiment 5    Experiment 6    Experiment 7    Experiment 8    Experiment 9    Experiment
> 10    Experiment 11   Experiment 12
>     0 2430.0  NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
>     1 2870.0  NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
>     2 2890.0  NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
在过去的两个小时里,我一直在研究这个问题,但是我不明白为什么列1后面的列没有填充值

期望输出:

Experiment 1    Experiment 2    Experiment 3    Experiment 4    Experiment 5    Experiment 6    Experiment 7    Experiment 8    Experiment 9    Experiment 10   Experiment 11   Experiment 12
2430    3270    26900   3230    2940    243000  256000  249000  2880    26100   3890    33400
2870    3350    26300   3290    3180    242000  254000  250000  3390    27900   3730    30700
2890    3520    28400   3090    3140    253000  260000  237000  3510    27400   3760    29600
我发现了问题

我必须使用
.values

因此,循环的最后一行必须是:

df2[y] = df1.iloc[3*x:3*x+3].values

我得到了正确的输出

你能添加
df1.head(n=5)
是的,我添加了它,你能在你的问题中添加前5行所需的输出吗?是的,我将它编辑到我的问题中