python – 使用:用于列表或numpy数组中的多个切片

我在尝试弄清楚如何在列表中提取多个值时遇到一些困难.例如,给定一个列表l = [0,1,2,3,4,5,6,7,8,9,10],我想只提取值[1,2,3]和[6, 7,8,9].我能做到[1:4] l [6:-1],但有没有办法写l [1:4,6:-1]?

对于我在pandas数据帧中遇到的实际问题,这实际上是一个鬼问题.我有一个数据帧,df,列[‘A’,’B’,’C’,’I1′,’D’,’E’,’F’,’I2′,’I3′],我只有想要保留重要的列[‘I1′,’I2′,’I3’].现在,我正在做的当前方法

df.drop(df.columns [0:3],axis = 1,inplace = True)
df.drop(df.columns [4:7],轴= 1,inplace = True)

有没有办法做到这一点,我们可以在一行中完成,而无需明确写出列值?

谢谢!
PS.我知道pandas数据帧使用numpy,我也没有在numpy中找到任何变通方法,但我认为删除列的语法是标准的python列表格式,如果这有意义的话.

编辑:我找到了一种方法来做numpy,但它也是2行,从this question.我们可以这样做:
indices = np.hstack((np.arange(0:3),np.arange(4:7))
df.drop(df.columns [indices],axis = 1,inplace = True)

但是,我仍然在寻找1行广义方法.

解决方法:

我认为你需要numpy.r_的concanecate指数:

print (np.r_[1:4, 6:10])
[1 2 3 6 7 8 9]

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...