loadtxt() 将数据加载到文本文件或 CSV 格式文件中
np.
loadtxt
(
“文件路径”, dtype
=
np.float, delimiter
=
None, skiprows
=0, usecols=
None, unpack =False)
注意
:对数组进行切片类似于赋值操作,只是将引用传递给片段,改变片段和原始数组会相互影响。(切片是浏览操作,不复制)
a = b.copy () # 复制,改变b不会影响a
# coding=utf-8
import numpy as np
file_path = "./demo.csv"
# t1 = np.loadtxt (file_path, delimiter = ",", dtype = "int", unpack = True) # unpack 是对矩阵的转置,默认为False
t2 = np.loadtxt(file_path, delimiter=",", dtype="int")
# print(t1)
print (t2) # 二维的
######################################
# 阵列的切割
print (t2 [2]) # 下面的指数从0开始
# t2 [2] = 0 # 可以直接用=赋值来改变相应位置的数据
# 连续取几行
print(t2[2:])
print (t2 [2 :: 2]) # 第二个冒号:表示步骤的大小
# 取几条中断的线
print(t2[[2,8,10]])
# 选择行的一般方式(行和列的选择可以这样得到,逗号前表示行,逗号后表示列)
print(t2[1,:])
print(t2[2:,:])
print (t2 [[2,10,3] ,:]) # 取一些不连续的行
# 取一列
print (t2 [:, 0]) # 一维数组
# 在一行中取几列
print(t2[:,2:])
# 采取不连续的多列
print(t2[:,[0,2]])
# 取一行和一列,取第三行和第四列的值
a = t2[2,3]
print(a)
print(type(a)) # <class 'numpy.int64'>
# 取多行和多列,取第3至5行和第2至4列的结果
# 取行与列的交点
b = t2 [2: 5,1: 4] # 2:5包含2,但不包含5
print(b)
# 取几个不相邻的点
c = t2 [[0,2,4], [0,1,3]] # 选择的位置 (0,0) (2,1) (4,3)
print(c)
./demo.csv(csv格式的数据):
4394029,320053,5931,46245
7860119,185853,26679,0
5845909,576597,39774,170708
2642103,24975,4542,12829
1168130,96666,568,6666
1311445,34507,544,3040
666169,9985,297,1071
1728614,74062,2180,15297