我是靠谱客的博主 专一小笼包,最近开发中收集的这篇文章主要介绍牛客python题库解题笔记——5小时学python之numpy(2),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、numpy 字符串

1、数据转置与拼接
某情侣配对信息记录在Nowcoder.csv文件中,名字之间通过逗号间隔,第二列名字之前都有一个空格。
现在要求使用字符串连接将第一列与第二列配对的情侣连接成一个字符串,然后组成numpy数组。

数据集直接从当前目录下的Nowcoder.csv文件中读取。输出变换后的numpy数组。

import numpy as np
data = np.loadtxt('Nowcoder.csv',delimiter=',',dtype=str)
# 转置
data1 = data.T
# 第一列与第二列相拼接
print(np.char.add(data1[0],data1[1]))

2、字母大小写
某个网页的内容记录在Baidu.csv文件中,字符串之间通过逗号间隔。因为网页乱码,表格中的大小写字母混乱,将其修改为所有单词只有句子首字母大写。

数据集直接从当前目录下的Baidu.csv文件中读取。
输出修改后的numpy一维数组。

import numpy as np
data = np.loadtxt('Spider.csv',delimiter=',',dtype=str)
# 按行展开
data1 = data.flatten(order='C')
# 首字母大写输出
print(np.char.capitalize(data1))

二、numpy 统计

1、数据统计
程序员的平均工资记录在Salary.csv文件中,数字之间通过逗号间隔,其中不同列表示不同工作(开发、算法、测试)的程序员平均工资,不同行表示不同地区程序员的平均工资。
找出各个地区程序员的最高平均工资以及不同工作中最高平均工资与最低平均工资之差。
数据集直接从当前目录下的Salary.csv文件中读取。直接输出查询结果的一维numpy数组。

import numpy as np
data = np.loadtxt('Salary.csv',delimiter=',',dtype=float)
print(np.max(data,axis=1))
print(np.ptp(data,axis=0))

2、平均值
某部分程序员的平均工资记录在Salary.csv文件中,数字之间通过逗号间隔,其中不同列表示不同工作内容(开发、算法、测试)的程序员平均工资,不同行表示不同地区程序员的平均工资。
找出不同工作内容平均工资的中位数,以及不同地区工资的算术平均值。
数据集直接从当前目录下的Salary.csv文件中读取。直接输出查询结果的一维numpy数组,算术平均值四舍五入最多保留1位小数。

import numpy as np # 导入模块
salary = np.genfromtxt("Salary.csv", delimiter=",", dtype=float) # 读取文件
print(np.median(salary, axis=0)) # 求行的中位数输出
print(np.round(np.mean(salary, axis=1), decimals=1)) # 求列平均值输出

3、排序
部分店铺一段时间内的销售额记录在Shop.csv文件中,字段之间通过逗号间隔,它只包括了一列店铺名和一列销售额。请你按照销售额对数据进行降序排名。
数据集直接从当前目录下的Shop.csv文件中读取。直接输出降序排名的结果,记录在一维numpy数组中。

import numpy as np
#创建新类型
dt = np.dtype([('name','S10'),('money',float)])
#读取文件转化为np数组
data = np.loadtxt('Shop.csv',delimiter=',',dtype=dt)
#依照'money'排序
data1 = np.sort(data, order='money') 
#逆序输出
print(data1[::-1])

4、筛选
部分店铺一段时间内的销售额记录在Shop.csv文件中,字段之间通过逗号间隔,它只包括了一列店铺名和一列销售额。
假设这段时间内销售额达到百万级别的可以被视作优秀店铺,请从这些数据中筛选出优秀店铺的名字,排序按照原有的顺序。

数据集直接从当前目录下的Shop.csv文件中读取。直接输出筛选的名字的结果,记录在一维numpy数组中。

import numpy as np
#创建新类型
dt = np.dtype([('name','S10'),('money',float)])
#读取文件转化为np数组
data = np.loadtxt('Shop.csv',delimiter=',',dtype=dt)
a = np.where(data['money']>=1000000)
print(data['name'][a])

最后

以上就是专一小笼包为你收集整理的牛客python题库解题笔记——5小时学python之numpy(2)的全部内容,希望文章能够帮你解决牛客python题库解题笔记——5小时学python之numpy(2)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部