用于转置数据帧的Python脚本

时间:2017-08-11 18:46:15

标签: python dataframe transpose

我有一个数据框显示在这里:

time    0:15    0:30    0:45
1/1/12  27.84   28.08   27.6

我需要将其转置到另一个数据帧,如下所示: 时间

1/1/12 0:15 27.84
1/1/12 0:30 28.08
1/1/12 0:45 27.6

知道我如何进行吗?

2 个答案:

答案 0 :(得分:1)

如果你的df看起来像这样(df.set_index(“time”),如果它有一个单独的时间列)。

df 

time    0:15    0:30    0:45        
1/1/12  27.84   28.08   27.6

你可以简单地说:

# 1. Create a new DataFrame with two rows (columns and row1) - transpose them.
# 2. Set index to the old index to list and multiply by length of df2

df2 = pd.DataFrame([df.columns,df.iloc[0]]).T 
df2.index = df.index.tolist()*len(df2)
df2

给出了:

        0       1
1/1/12  0:15    27.84
1/1/12  0:30    28.08
1/1/12  0:45    27.6

因此而工作:

df.columns # Index(['0:15', '0:30', '0:45'], dtype='object')
df.iloc[0] # array([ 27.84,  28.08,  27.6 ])
df.index.tolist()*len(df.columns) # ['1/1/12', '1/1/12', '1/1/12']

答案 1 :(得分:-2)

import numpy as np
a = np.array([[1, 2], [3, 4]])
a
array([[1, 2],
       [3, 4]])
a.transpose()
array([[1, 3],
       [2, 4]])

通过这种方式你可以在python

中使用数组中的numpy进行转置