我有一个数据框df
:
A B
0 1 4
1 2 5
2 3 6
还有一个系列s
:
0 A
1 B
2 A
现在我想df
从s
. 预期结果是:
0 1 <- from column A
1 5 <- from column B
2 3 <- from column A
我怎样才能有效地完成这项工作?
我有一个数据框df
:
A B
0 1 4
1 2 5
2 3 6
还有一个系列s
:
0 A
1 B
2 A
现在我想df
从s
. 预期结果是:
0 1 <- from column A
1 5 <- from column B
2 3 <- from column A
我怎样才能有效地完成这项工作?
用于Index.get_indexer
索引Series
并通过 numpy 索引来选择值2d array
:
a = df.to_numpy()
b = a[np.arange(len(df)), df.columns.get_indexer(s)]
print (b)
[1 5 3]
s1 = pd.Series(b, s.index)
print (s1)
0 1
1 5
2 3
dtype: int64