Python Pandas按多个索引范围切片数据框

发布于 2021-01-29 19:34:34

用更多索引范围(例如by10:1225:28)对数据帧进行切片的pythonic方法是什么?

我想要一个更优雅的方式:

df = pd.DataFrame({'a':range(10,100)})
df.iloc[[i for i in range(10,12)] + [i for i in range(25,28)]]

结果:

     a
10  20
11  21
25  35
26  36
27  37

像这样的东西会更优雅:

df.iloc[(10:12, 25:28)]
关注者
0
被浏览
91
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用numpy的r_“切片技巧”:

    df = pd.DataFrame({'a':range(10,100)})
    df.iloc[pd.np.r_[10:12, 25:28]]
    

    给出:

         a
    10  20
    11  21
    25  35
    26  36
    27  37
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看