在pandas数据框中选择不同的列

2 投票
1 回答
863 浏览
提问于 2025-04-17 17:22

我正在尝试使用选择键来选择pandas数据框中的不同列。

假设我的数据框是:

import pandas as pnd
s1 = pnd.Series ([0,3,6,7])
s2 = pnd.Series ([1,4,8,9])
s3 = pnd.Series ([2,5,10,11])
df = pnd.DataFrame({'A':s1, 'B':s2, 'C':s3})

   A  B   C
0  0  1   2
1  3  4   5
2  6  8  10
3  7  9  11

而我的选择键是:

s4 = pnd.Series (['A','B','C','A'])


0    A
1    B
2    C
3    A

我想要的结果是:

0  0
1  4
2  10
3  7

我想我可以用一个循环来完成这个。

l = []
for idx in df.index:
    l.append( df[s4[idx]][idx])
s5 = pnd.Series(l)
print s5

有没有更好、更简洁或更高效的方法呢?

1 个回答

6
pnd.Series(df.lookup(df.index, s4), df.index)

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。

撰写回答