Python 将表转换或重塑为向量并重命名列

Python 将表转换或重塑为向量并重命名列,python,pandas,Python,Pandas,经过一些聚合和其他操作后,我得到一个如下所示的df: 但是,我尝试将相同的信息转换为不同的格式,将所有信息合并到一行中,列名称如下: cols = [amin_qcut0, amax_qcut0, mean_qcut0, amin_qcut1, amax_qcut1, mean_qcut1, amin_qcut2, amax_qcut2, mean_qcut2] 以及与表中的值相对应的值。是否有一种方法可以使用df.iterrows()完成此操作 谢谢试试这个,不需要迭代使用数据帧整形: #

经过一些聚合和其他操作后,我得到一个如下所示的df:

但是,我尝试将相同的信息转换为不同的格式,将所有信息合并到一行中,列名称如下:

cols = [amin_qcut0, amax_qcut0, mean_qcut0, amin_qcut1, amax_qcut1, mean_qcut1, amin_qcut2, amax_qcut2, mean_qcut2]
以及与表中的值相对应的值。是否有一种方法可以使用df.iterrows()完成此操作


谢谢

试试这个,不需要迭代使用数据帧整形:

#Create dummy dataframe
df = pd.DataFrame(np.arange(9).reshape(-1,3), columns=['amin','amax','mean'])
df.index.name='qcut'

#Use unstack to reshape dataframe with T from transpose
df_out = df.unstack().to_frame().T.sort_index(level=1, axis=1)
#Flatten multiindex column header created from unstack
df_out.columns = [f'{i}_{j}' for i, j in df_out.columns]
#Show output
df_out
输出:

   amax_0  amin_0  mean_0  amax_1  amin_1  mean_1  amax_2  amin_2  mean_2
0       1       0       2       4       3       5       7       6       8