numpy学习(3)

读取文件


# 读取数据
us_file_path = "F:/code\Study/aiLearning/youtube_video_data/US_video_data_numbers.csv"
uk_file_path = "F:/code\Study/aiLearning/youtube_video_data/GB_video_data_numbers.csv"
t1 = np.loadtxt(us_file_path, delimiter=',', dtype='int')
t2 = np.loadtxt(us_file_path, delimiter=',', dtype='int', unpack=True)
print(t1)
print(t2)
import numpy as np

t5 = np.arange(24).reshape(4, 6)
print(t5)

# 计算
# 广播
# 数组与数字想加减乘除,数组中每一元素都进行相同的计算
# nan 是0/0  inf 是一个数字/0
t6 = t5 + 2
print(t6)

# 数组与数组相加减乘除,对应元素相加减乘除
t7 = t5 + t6
print(t7)

# 广播原则:
# 入股两个数组的后缘维度 即从末尾开始算起的维度的轴长度相符或者
# 其中一方的长度唯一,则认为他们是广播兼容的,广播会在缺失和长度为1的维度上进行
t8 = np.arange(6);
t9 = t5 + t8
print(t9)

# 二维数组 0 表示行 1 表示列
# 2行5列
t10 = np.arange(0, 10).reshape((2, 5))
print(t10)

# 读取数据
'''
第一个参数为文件路径
dtype为数据格式
delimiter为数据分隔符,如csv文件为,分割;
skiprows 为跳过的前几行;
useclos 为读取指定行
unpack 转置:行列发生转换 为true转置;为false不转置
'''
# np.loadtxt('C:/ceshi.csv', dtype=np.float, delimiter=',', skiprows='0', usecols=0, unpack=True)

# 数组转置
t11 = np.arange(24).reshape(4, 6)
print(t11)
# 第一种方式 transpose
t12 = t11.transpose()
print(t12)
# 第二种方式 行列交换 .swapaxes
t13 = t11.swapaxes(1, 0)
print(t13)
# 第三种方式 .T
t14 = t11.T
print(t14)

# 数据处理
# 取行 取第三行数据
print(t11[2])

# 取连续的多行
print(t11[2:])

# 取 不连续的多行
print(t11[[0, 2, 3]])

# 取列
print(t11[:, 0])

# 取多列 2列以后连续的多列
print(t11[:, 2:])

# 取不连续的多列
print(t11[:, [2, 4, 5]])

# 取2-4行 1-3列
print(t11[1:4, 0:3])

# 下面这种方式取的是 1,3位置的值,和0,2 位置的值,所以只有两个值
print(t11[[1, 3], [0, 2]])

# 数值修改
t11[0, 0] = 22
print(t11)

# t11中小于10的值赋值为3
print(t11 < 10)
print([t11 < 10])
print(t11[t11 < 10])
t11[t11 < 10] = 3
print(t11)

# 把小于10的值替换为0,否则替换为100
print(np.where(t11 < 10, 0, 100))
# 把小于10的值替换为10,把大于20的值替换为20
print(t11.clip(10, 20))

#nan 0/0 数据缺失,相当于null,float类型
#两个nan是不相等的
np.isnan(t11)
print(np.isnan(t11))
#sum
#所有数据之和
print(np.sum(t11))
#列之和
print(np.sum(t11,axis=0))
#行之和
print(np.sum(t11,axis=1))
#均值
np.mean(t11)
#中值
np.median(t11)
#最大值
np.max(t11)
t11.max()
#最小值
np.min(t11)
t11.min()
#极差 最大值与最小值之差
np.ptp(t11)
#标准差
t11.std()



#inf inf表示正无穷,-inf表示负无穷
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值