我有一个数据框显示在这里:
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
知道我如何进行吗?
答案 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]])