Python数据分析笔记_第4天(numpy)

数组的轴

  • 一维数组,只有一个0轴
  • 二维数组有0轴和1轴,0轴 表示行,1轴表示列
    在这里插入图片描述
  • 三维数组有0,1,2轴,0轴表示块,1轴表示行,2轴表示列
    在这里插入图片描述

numpy读取数据

  • np.loadtxt()
    fname:文件、字符串或压缩包
    dtype:元素数据类型(可选),默认np.float
    delimiter:分隔符,默认为空格
    skiprows:跳过前x行,一般用于跳过第一行表头
    usecols:读取指定列,传入参数为索引/元组
    unpack:当传入True,将数据的行列进行转至;默认为False
'''
现在这里有一个英国和美国各自youtube1000多个视频的点击,喜欢,不喜欢,评论数量(["views","likes","dislikes","comment_total"])的csv
'''
import numpy as np

uk_csv = './youtube_video_data/GB_video_data_numbers.csv'
us_csv = './youtube_video_data/US_video_data_numbers.csv'

us_table = np.loadtxt(us_csv, delimiter=',', dtype='int')
# us_table = np.loadtxt(us_csv, delimiter=',', unpack=True)  # unpack=True时行列转至

print(us_table)
# print(us_table)

numpy的转至

  • 变量.swapaxes(1,0):交换0轴和1轴,实现转至
  • 变量.transpose()
  • 变量.T

numpy的切片与索引

  • 取行
print(us_table[2])
print(us_table[2::2])  # 从第三行开始,隔两行取行
print(us_table[[2, 6, 8]])  # 指定取不连续的行
  • 取列(行列之间用逗号分隔)
print(us_table[[2, 6, 8], 3])  # 取第四列
print(us_table[[2, 6, 8], 1:])  # 取第二列后的所有行
print(us_table[:, [1, 3]])  # 取第二列和第四列
  • 取点
a = us_table[2, 3]  # 取单个数据
b = us_table[2:5, 1:4]  # 取相邻的点,索引包头不包尾
c = us_table[[0, 2, 2], [0, 1, 3]]  # 取不相邻的点,(0,0)、(2,1)、(2,3)处的三个点

numpy数值的修改

切片取值后直接赋值新数据

  • 布尔索引取数修改
t = np.arange(24).reshape(4, 6)
print(t < 10)  # 返回一个布尔数组
t[t < 10] = 10  # 索引取数,对小于10的元素直接赋值修改
  • 三元运算符生成一个修改后的新对象
t1=np.where(t < 16, 0, 16)  # 类似于三元运算符,当t<16为True时赋值0,为False是赋值16;三元运算符,3 if 3>2 else 4,为真返回3为假返回4
  • 裁剪生成一个修改后的新对象
t2=t.clip(15,20)  # 将t中小于10的数替换成10,大于20的数替换成20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值