【发布时间】:2012-05-14 12:21:26
【问题描述】:
我正在尝试重新索引 pandas DataFrame 对象,就像这样,
From:
a b c
0 1 2 3
1 10 11 12
2 20 21 22
To :
b c
1 2 3
10 11 12
20 21 22
我将按如下所示进行此操作,但得到了错误的答案。有关如何执行此操作的任何线索?
>>> col = ['a','b','c']
>>> data = DataFrame([[1,2,3],[10,11,12],[20,21,22]],columns=col)
>>> data
a b c
0 1 2 3
1 10 11 12
2 20 21 22
>>> idx2 = data.a.values
>>> idx2
array([ 1, 10, 20], dtype=int64)
>>> data2 = DataFrame(data,index=idx2,columns=col[1:])
>>> data2
b c
1 11 12
10 NaN NaN
20 NaN NaN
知道为什么会这样吗?
【问题讨论】:
-
因为你正在使用第一个 DF 来构建第二个,这只会得到 idx2 与 data.index 相交的行,即。第 1 行