c语言sscanf函数的用法是什么
273
2022-09-14
【Python】数据分析.numpy.本地数据读取、转置
文章目录
数据分析.numpy.本地数据读取
一、本地数据的读取
1.1 frame属性1.2 delimiter属性1.3 dtype属性1.4 unpack属性
二、关于转置
数据分析.numpy.本地数据读取
一、本地数据的读取
CSV:comma-separated value,逗号分隔值文件 显示:表格状态 源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示以条记录
1.1 frame属性
import numpy as np#设置framedata_file_path = "../数据分析_numpy/data.csv"t1 = np.loadtxt(data_file_path)print(t1)
只传入数据文档地址,将会报错,原文件中存储数据类型是String,而numpy读取数据时默认数据类型为float。
返回顶部
1.2 delimiter属性
import numpy as np#设置framedata_file_path = "../数据分析_numpy/data.csv"t1 = np.loadtxt(data_file_path,delimiter=",")print(t1)
在只设定了delimiter属性后,将原有数据以逗号分隔,numpy将分隔后的数据以数组形式呈现,并且采用科学计数法:
返回顶部
1.3 dtype属性
import numpy as np#设置framedata_file_path = "../数据分析_numpy/data.csv"t1 = np.loadtxt(data_file_path,delimiter=",",dtype="int")print(t1)
这时我们设定dtype属性为int类型,这样展示出的效果就是int类型的数组。
返回顶部
1.4 unpack属性
import numpy as np#设置framedata_file_path = "../数据分析_numpy/data.csv"t1 = np.loadtxt(data_file_path,delimiter=",",dtype="int",unpack=True)t2 = np.loadtxt(data_file_path,delimiter=",",dtype="int")print(t1)print("*"*100)print(t2)
我们可以清晰的而看到,数据进行了转置,原来的列以行的形式出现,原来的行以列的形式出现,总元素个数不变,行数列数交换。
Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] on win32>>> runfile('C:/Users/DELL/PycharmProjects/数据分析_numpy/numpy_05.py', wdir='C:/Users/DELL/PycharmProjects/数据分析_numpy')[[4394029 7860119 5845909 2642103 1168130 1311445 666169 1728614 1338533 1056891 2162240 515000] [ 320053 185853 576597 24975 96666 34507 9985 74062 69687 29943 41032 34727] [ 5931 26679 39774 4542 568 544 297 2180 678 4231 1384 195] [ 46245 0 170708 12829 6666 3050 1071 15297 5643 148279 4737 4722]]****************************************************************************************************[[4394029 320053 5931 46245] [7860119 185853 26679 0] [5845909 576597 39774 170708] [2642103 24975 4542 12829] [1168130 96666 568 6666] [1311445 34507 544 3050] [ 666169 9985 297 1071] [1728614 74062 2180 15297] [1338533 69687 678 5643] [1056891 29943 4231 148279] [2162240 41032 1384 4737] [ 515000 34727 195 4722]]
返回顶部
二、关于转置
转置是一种变换,对于numpy中的数组来说,就是在对角线方向交换数据,目的也是为了更方便的去处理数据。
import numpy as npt = np.arange(24).reshape((4,6))print(t)# [[ 0 1 2 3 4 5]# [ 6 7 8 9 10 11]# [12 13 14 15 16 17]# [18 19 20 21 22 23]]#法一t1=t.transpose()print(t1)print("*"*15)#法二,交换轴t2=t.swapaxes(1,0)print(t2)print("*"*15)#法三t3=t.Tprint(t3)print("*"*15)
以上但种方法均可实现二维数组的转置效果,其实转置就像是交换轴~
PyDev console: starting.Python 3.7.4 (default, Aug 9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)] on win32runfile('C:/Users/DELL/PycharmProjects/数据分析_numpy/numpy_06.py', wdir='C:/Users/DELL/PycharmProjects/数据分析_numpy')[[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23]][[ 0 6 12 18] [ 1 7 13 19] [ 2 8 14 20] [ 3 9 15 21] [ 4 10 16 22] [ 5 11 17 23]]***************[[ 0 6 12 18] [ 1 7 13 19] [ 2 8 14 20] [ 3 9 15 21] [ 4 10 16 22] [ 5 11 17 23]]***************[[ 0 6 12 18] [ 1 7 13 19] [ 2 8 14 20] [ 3 9 15 21] [ 4 10 16 22] [ 5 11 17 23]]***************
三维转置参见大佬博客:numpy T、transpose()函数、swapaxes()函数
返回顶部
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~