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

数据:

代码:

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值