首页>宏观 > 正文

微资讯!关于python中numpy 的array二维数组

2023-06-27 20:06:03    出处:博客园

1、如何删除某一行、某一列


(相关资料图)

简单的例子:

Original=np.array([[1,2,7,4],                   [7,5,1,4],                   [7,8,11,9],                   [11,3,17,2]])如下都将使用该二维数组进行示例删除某一行就是np.delete(Original,1,axis=0)想要删除某一列最简单的就是加上个转置然后删除,最后再转回来np.delete(Original.T,1,axis=0)多行删除就是把 1 的位置变成一个数组np.delete(Original,[0,2],axis=0)当然别忘记在前面接收一下2、numpy中的array二维数组怎么由一行的数据进行排序(1)普通的对整数类型的二维数组进行排列第一步先创建一个排序序列:sorted_index=np.lexsort(sort)在此之前要设置一下sort:这里想要按照第三列排序就是3,并且不存在第零列,1、2、3这样子找自己需要的列就好sort= Original[:,:3].T
sorted_index=np.lexsort(sort)之后这里的sorted_index会提供一个分类的结果序列例如:[1 0 2 3]之后我们把排序后的序列放到array二维数组中并替换:Original=Original[sorted_index]就会得到结果排序后输出数组

[[ 7 5 1 4] [ 1 2 7 4] [ 7 8 11 9] [11 3 17 2]]

(2)对str类型的array二维数组针对某一列进行排序

这里就需要前面的知识点,不过在此之前需要进行数据处理。

在第一部中我们通过original的其中一列进行分类,

而sorted_index则是那个分类的结果序列!这个序列在这一部分相对重要,如下:

第一步:因为我们是按照某一列进行排序,

而同一个二维数组中会有一些str类型,

我又不会让array二维数组的其中一列变成int类型,怎么办呢。

通过np.delete将不需要分组的数据删除,数据如下

Original=np.array([[2,"张三"],                   [1,"李四"],                   [3,"王五"]])
temp = np.delete(Original.T,1,axis=0).Tprint(temp)接下来我用一个 temp 临时数组进行替代。进行如上的操作之后,纯净的需要我们排序的数组就出来了结果为:

[["2"] ["1"] ["3"]]

之后将其强制转为int类型(之所以这么麻烦就是因为我只会把整个数组强转,单列不会,会的话就不用这样麻烦了)
temp = temp.astype(int)print(temp)结果为:
之后我们就可以排序了:在这里我们期望的是得到sorted_index排序数列,用需要排列的并且未经改变的数字排列位置进行排序(也就是说数组的顺序没有经过改变)之后像第一不一样得到sort和sorted_index

然后把sorted_index放到Original中:

print("排序结果为="+str(Original[sorted_index]))得到排序结果:

排序结果为=[["1" "李四"] ["2" "张三"] ["3" "王五"]]

至此完成。

关键词:

相关内容

消费
产业
河南鸿辉开业盛典暨新摩卡集中交付活动圆满礼成 河南鸿辉开业盛典暨新摩卡集中交付活动圆满礼成
盛达资源最新公告:子公司采矿权新立登记申请获同意 盛达资源公告近日控股子公司德运矿业采矿权新立登记申请获得阿鲁科尔沁
世界观天下!水鸟翔集 青海湖迎来鸟类繁殖高峰 央视网消息:青海湖是高原内陆湖泊湿地,生态地位极其重要,是南北半球
今日14:00上线!广东高考志愿填报辅助系统来了_环球速看料 广东省教育考试服务中心专门开发了广东省2023年普通高考志愿填报辅助系
基金