【发布时间】:2018-04-12 08:23:57
【问题描述】:
我有以下 DataFrame df1:
df1 = pd.DataFrame(np.random.rand(4,2), columns = {"var1", "var2"})
df1["inst"] = ["A", "A", "B", "B"]
df1.set_index("inst", inplace = True)
df1 = df1.stack()
ipdb> df1
inst
A var1 0.191094
var2 0.100821
var1 0.251331
var2 0.528787
B var1 0.806549
var2 0.638217
var1 0.233541
var2 0.905737
我想重塑 df1 这样,
ipdb> df1
A B
var1 0.191094 0.806549
var2 0.100821 0.638217
var1 0.251331 0.233541
var2 0.528787 0.905737
我尝试获取df1 的值并使用reshape 函数重塑它们,但它没有奏效:
ipdb> df1.values
array([ 0.19109431, 0.10082081, 0.25133097, 0.52878702,
0.80654863, 0.63821703, 0.23354052, 0.90573699])
ipdb> df1.values.reshape(4,2)
array([[ 0.19109431, 0.10082081],
[ 0.25133097, 0.52878702],
[ 0.80654863, 0.63821703],
[ 0.23354052, 0.90573699]])
【问题讨论】:
标签: python-3.x pandas reshape