数据:
代码:
# -*- coding: utf-8 -*-
# @File : numpy_readfile_demo.py
# @Date : 2019-12-30 17:12
# @Author : admin
import numpy as np
'''
1.delimiter 指定分隔符,不然每一行的数据合并成了一行数据,而会报错
2.dtype 默认情况下,对较大的数字实行科学计数法
3.unpack: 默认情况下,值为false,有多少行就显示多少行,当值为True,通过将每一列转成每一行进行显示,有多少列,就有多少行,相当于转置
'''
print("###########################################1.加载数据#################################")
us_file_path = "./US_video_data_numbers.csv"
t1 = np.loadtxt(us_file_path,delimiter=",",dtype="int",unpack=True);
print(t1)
'''
[[4394029 7860119 5845909 ... 142463 2162240 515000]
[ 320053 185853 576597 ... 4231 41032 34727]
[ 5931 26679 39774 ... 148 1384 195]
[ 46245 0 170708 ... 279 4737 4722]]
'''
t2 = np.loadtxt(us_file_path,delimiter=",",dtype="int",unpack=False);
print(t2)
'''
[[4394029 320053 5931 46245]
[7860119 185853 26679 0]
[5845909 576597 39774 170708]
...
[ 142463 4231 148 279]
[2162240 41032 1384 4737]
[ 515000 34727 195 4722]]
[[4394029 320053 5931 46245]
[7860119 185853 26679 0]
[5845909 576597 39774 170708]
...
[ 142463 4231 148 279]
[2162240 41032 1384 4737]
[ 515000 34727 195 4722]]
'''
#转置
t3=t2.transpose()
print(t3)
print("######################################2.按行获取数据######################################")
#取行
print(t2[2])
#取连续的多行
print(t2[2:])
#取不连续的多行
print(t2[[2,8,10]])
print("======另一种方式,逗号前面是行,逗号后面是列")
#第一行的所有列
print(t2[1,:])
#第二行的所有列
print(t2[2:,:])
print("*******")
#第2,10,3,行的所有列
print(t2[[2,10,3],:])
print("######################################3.按列获取数据######################################")
#取列
print(t2[:,0])
#取连续的多列
print(t2[:,2:]);
#取不连续的多列,第0列,第2列
print(t2[:,[0,2]])
#取行和列,取第3行,第四列的值
a = t2[2,3]
print(a)
print(type(a))
#取多行和多列,取第3行到第五行,第2列到第4列的结果
#取的是行和列交叉点的位置
b = t2[2:5,1:4]
print(b)
#取多个不相邻的点
#选出来的结果是(0,0) (2,1) (2,3)
c = t2[[0,2,2],[0,1,3]]
print(c)
'''
[4394029 576597 170708]
'''
a=t2[1,3]
a=23;
#t2[1,3]=23
print(t2[1,:])
print("######################################4.模糊查询并赋值######################################")
#将元素大于10的替换成1,使用到了bool索引
print(t2>10)
t2[t2>10]=1;
print(t2)
#如果元素为0替换成1,否则替换成0
print("******",type(t2))
c=np.where(t2==0,1,0);
print(c)