Python 如何将一栏系列转换为带有标题的单行系列?
我正在使用熊猫,我想转换一个类似这样的系列:Python 如何将一栏系列转换为带有标题的单行系列?,python,pandas,Python,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 ...
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
到具有如下标题的单行数据帧:
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()
,但在series上不起作用。
感谢您的帮助 将你的
pd.Series
转换成pd.DataFrame
然后转置:y=pd.DataFrame(x.transpose()
将你的pd.Series
转换成pd.DataFrame
然后转置:y=pd.DataFrame(x.transpose())
以下是需要重新创建数据帧的一个:
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
另一个涉及
设置索引
和转置
:
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
或转置
和设置轴
:
(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
以下是需要重新创建数据帧的一个:
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
另一个涉及
设置索引
和转置
:
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
或转置
和设置轴
:
(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
在使用
transpose
之前,可以将序列包装在数据帧构造函数中
import pandas as pd
s = pd.Series(pd.np.random.randint(0,100, size=50))
pd.DataFrame(s).T.rename(columns={x: 'RT_mean{}'.format(x) for x in s.index})
# returns:
RT_mean0 RT_mean1 RT_mean2 RT_mean3 RT_mean4 RT_mean5 RT_mean6 \
0 74 96 31 1 36 98 79
在使用
transpose
之前,可以将序列包装在数据帧构造函数中
import pandas as pd
s = pd.Series(pd.np.random.randint(0,100, size=50))
pd.DataFrame(s).T.rename(columns={x: 'RT_mean{}'.format(x) for x in s.index})
# returns:
RT_mean0 RT_mean1 RT_mean2 RT_mean3 RT_mean4 RT_mean5 RT_mean6 \
0 74 96 31 1 36 98 79
另一种方法
为了最大限度地提高通用性,我们可以使用第一列名称的值添加_prefix
pd.DataFrame(df.to_numpy().T).add_prefix(df.columns[0])
另一种方法
为了最大限度地提高通用性,我们可以使用第一列名称的值添加_prefix
pd.DataFrame(df.to_numpy().T).add_prefix(df.columns[0])
尝试一些愚蠢的事情,比如
df.set\u index(df.index.map('RT\u mean{}.format))。重命名({'RT\u mean':0},axis=1)。T
尝试一些愚蠢的事情,比如df.set\u index(df.index.map('RT\u mean{}.format))。重命名({'RT\u mean':0},axis=1)。T