给定一个 Dataframe ,如
df = pd.DataFrame({1: [10,20,30,40], 2: [50,60,70,80], 3: [90,100,110,120], "select": [2, 3, 1, 1])
我可以得到一系列的值,从每一行中选择想要的值,在每一行中选择对应于select
列中给定的列索引的值,像这样:
df.apply(lambda r: r[r.select], axis=1) # 50, 100, 30, 40
有没有一种不依赖于apply
的更好的方法呢?
2条答案
按热度按时间dxxyhpgq1#
使用
lookup
:输出:
a8jjtwal2#
由于
DataFrame.lookup
不再可用,类似于以下内容(改编自文档)似乎是最好的方法: