首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python切片和删除函数

Python切片和删除函数
EN

Stack Overflow用户
提问于 2022-11-23 22:11:39
回答 1查看 37关注 0票数 0

我不明白切片函数。我想删除某一数字中的所有列。

代码语言:javascript
复制
data = np.delete(data, slice(1344,-1), axis = 1)
print(data.shape)
print(data[0,1340:1345])
data = np.delete(data,1344, axis =1 )
print(data.shape)
print(data[0,1340:1345])

如果我这样做了,data.shape就不会删除最后一个元素,因此我在那里得到一个'0‘,我必须在另一个步骤中删除它。

代码语言:javascript
复制
(200000, 1345)
[435 432 426 438   0]
(200000, 1344)
[435 432 426 438]

如果我把指数减1,

代码语言:javascript
复制
data = np.delete(data, slice(1343,-1), axis = 1)
print(data.shape)
print(data[0,1340:1345])

我仍然得到'0‘在结尾,但之前的号码被删除。

代码语言:javascript
复制
(200000, 1344)
[435 432 426   0]

怎样才能在一行中得到一个大小为(200000,1344)的数组,最后没有0,但实际数是多少?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-24 00:51:47

对于一个简单的一维数组:

代码语言:javascript
复制
In [170]: x=np.arange(10)    
In [171]: x[slice(5,-1)]
Out[171]: array([5, 6, 7, 8])

这一条本身是:

代码语言:javascript
复制
In [172]: slice(5,-1)
Out[172]: slice(5, -1, None)

相当于:

代码语言:javascript
复制
In [173]: x[5:-1]
Out[173]: array([5, 6, 7, 8])

要获得从结尾开始的值:

代码语言:javascript
复制
In [174]: x[slice(None,5,-1)]
Out[174]: array([9, 8, 7, 6])
In [176]: x[:5:-1]
Out[176]: array([9, 8, 7, 6])

或删除:

代码语言:javascript
复制
In [177]: np.delete(x,slice(None,5,-1))
Out[177]: array([0, 1, 2, 3, 4, 5])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74553523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档