2024-05-23 14:26:36 发布
网友
我使用的是熊猫,我想转换成这样的一个系列:
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.transpose()
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
add_prefix
pd.DataFrame(df.to_numpy().T).add_prefix(df.columns[0])
下面是一个需要重新创建数据帧的示例:
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_index和transpose:
set_index
transpose
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
或transpose和set_axis:
set_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
在使用transpose之前,可以在DataFrame构造函数中包装序列。你知道吗
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
另一种方法
为了最大化通用性,我们可以使用第一个列名的值
add_prefix
下面是一个需要重新创建数据帧的示例:
另一个涉及
set_index
和transpose
:或
transpose
和set_axis
:在使用
transpose
之前,可以在DataFrame构造函数中包装序列。你知道吗相关问题 更多 >
编程相关推荐