【问题标题】:how to indexing pandas dataframe with index list?如何用索引列表索引熊猫数据框?
【发布时间】:2018-08-27 02:38:15
【问题描述】:

我有一个如下所示的数据框。

df
   a  b  c
w  5  3  3
x  4  7  6
y  6  2  5
z  2  6  2

我有一个如下列表。

a
[['w', 'x', 'w'], 
['x', 'y', 'y']]

我怎样才能得到类似的结果

[[5,7,3],
[4,2,5]]

如果唯一的方法是使用 for 循环,那么哪种方法最快?

【问题讨论】:

    标签: python pandas dataframe indexing


    【解决方案1】:

    我认为for循环应该足够快

    [[df.loc[z,y] for z,y in zip(x,df.columns)] for x in l ]
    Out[981]: [[5, 7, 3], [4, 2, 5]]
    

    【讨论】:

    • df.at 代替。
    • 非常感谢。我使用的是 df.at 版本。
    【解决方案2】:

    假设子列表的长度总是与列的长度相同

    [[*df.lookup(i, df.columns)] for i in a]
    
    [[5, 7, 3], [4, 2, 5]]
    

    【讨论】:

    • 非常感谢。 df.at 肯定比 df.loc 快
    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 2015-02-22
    • 2016-06-13
    • 2013-08-19
    • 1970-01-01
    相关资源
    最近更新 更多