NumPy读取本地数据和索引

一、轴(axis)

在numpy中可以理解为方向,使用0,1,2...数字表示,对于一个一维数组,只有一个0轴;对于2维数组(shape(2,2)),有0轴和1轴;对于三维数组(shape(2,2,3)),有0,1,2轴

二、numpy读取数据(不经常使用<了解>)

1、读取文件类型

2、读取文件的方法

unpack参数:矩阵转置

现在这里有一个英国和美国各自YouTube多个视频的点击,喜欢,不喜欢,评论数量(["views", "likes", "dislikes", "comment_total"])的csv

数据来源:https://www.kaggle.com/datasnaek/youtube/data

import numpy as np

def myReadData():
    """
    读取本地数据
    :return: None
    """
    gb_file_path = "C:/Users/Lenovo/Desktop/archive/GB_video_data_numbers.csv"
    t1 = np.loadtxt(gb_file_path, delimiter=",", dtype="int", skiprows=1)

    print(t1)
    return None

if __name__ == "__main__":
    myReadData()

三、矩阵转置(unpack参数的扩展)

转置也是一种数据变换,对于numpy中的数组来说,就是在对角线方向交换数据,目的也是为了方便去处理数据。

t1.transpose()

矩阵转置;T是内部的属性,用于实现矩阵转置

t1.T
t1.swapaxes(1, 0)矩阵转置(交换轴)参数为相互交换位置的两个轴
import numpy as np

def myNumPy():
    t1 = np.arange(10, 40, dtype=int)
    t1 = t1.reshape(5, 6)
    print(t1)
    print(t1.transpose())
    print(t1.T)
    print(t1.swapaxes(1,0))

if __name__ == "__main__":
    myNumPy()

四、numpy中的索引和切片

对行进行操作:

(1)取一行:

  • print(t[行号])

(2)取连续的多行:

  • print(t1[行号:])

(3)取不连续的多行:

  • print(t1[[行号,....]])

对列进行操作:

(1)取一列:

  • print(t1[1,:]) //逗号前是行号,后面代表需要的列,冒号表示所有列都要

(2)取连续的多列

  • print(t1[:, 2:])

(3)取不连续的多列

  • print(t1[:, [0,2]])

(4)取某行、某列的值

  • print(t1[行号, 列号])

(5)取多行、多列

  • print(t1[2:5, 1:4])  //取第3行到第5行,第2列到第4列

(6)取多个不相邻的点

  • print(t1[[行号1,行号2...], [列号1,列号2....]])

五、numpy中数值的修改

结合上面numpy中的索引用法,最后对数据进行赋值

简单使用:

import numpy as np

def myNumPy():
    t1 = np.arange(10, 40, dtype=int)
    t1 = t1.reshape(5, 6)
    print(t1)
    t1[:,2:4] = 0
    print(t1)

if __name__ == "__main__":
    myNumPy()

1、布尔索引

如:t[t < 10] = 0   找出矩阵中小于10的置零

如果需要把t中小于10的数字替换成0,把大于10的替换成10,该怎么做?

np.where(t < 10, 0, 10)

2、np.clip(裁剪)操作

t.clip(10, 18)  把矩阵中小于10的替换成10,大于18的替换成18

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Star星屹程序设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值