数据分析-day02-numpy-读取csv文件,以及通过切片的方式获取不同维度数据

数据:

数据分析-day02-numpy-读取csv文件,以及通过切片的方式获取不同维度数据_第1张图片

代码:

# -*- 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)

 

你可能感兴趣的:(数据分析)