您如何将一列系列转换为带有标题的一行系列?

时间:2019-07-02 15:04:09

标签: python pandas

我正在使用Pandas,我想转换这样的系列:

        RT_mean
   0     27
   1     32
   2     10
   3     9
   .
   .
   .   
   190   89
   191   6

到具有这样的标题的一行数据帧:

       RT_mean1  RT_mean2  RT_mean3  RT_mean4 ... RT_mean189 RT_mean190
   0      27        32        10        9     ...     89          6

我尝试做series.transpose(),但这在系列上不起作用。 任何帮助表示赞赏!

4 个答案:

答案 0 :(得分:5)

另一种方法

pd.DataFrame(df.to_numpy().T).add_prefix('RT_mean')

   RT_mean0  RT_mean1  RT_mean2  RT_mean3  RT_mean4  RT_mean5
0        27        32        10         9        89         6

为了最大化通用性,我们可以add_prefix使用第一列名称的值

pd.DataFrame(df.to_numpy().T).add_prefix(df.columns[0])

答案 1 :(得分:3)

这是需要重新创建DataFrame的一个:

pd.DataFrame([df['RT_mean'].tolist()], columns=df.index.map('RT_mean{}'.format))

   RT_mean0  RT_mean1  RT_mean2  RT_mean3
0        27        32        10         9

涉及set_indextranspose的另一个问题:

df.set_index(df.index.map('RT_mean{}'.format)).reset_index(drop=True).T

   RT_mean0  RT_mean1  RT_mean2  RT_mean3
0        27        32        10         9

或者transposeset_axis

(df.T
   .set_axis(df.index.map('RT_mean{}'.format), axis=1, inplace=False)
   .reset_index(drop=True))

   RT_mean0  RT_mean1  RT_mean2  RT_mean3
0        27        32        10         9

答案 2 :(得分:3)

您可以在使用npm install @ngrx/schematics --save-dev npm install @ngrx/{store,effects,entity,store-devtools} --save ng config cli.defaultCollection @ngrx/schematics ng generate @ngrx/schematics:store State --root --module some-app.module.ts -d 之前将系列包装在DataFrame构造函数中。

transpose

答案 3 :(得分:1)

将您的pd.Series转换为pd.DataFrame,然后将其转置:y = pd.DataFrame(x).transpose()