CSV:comma-separated value,逗号分隔值文件
显示:表格状态
源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示以条记录
import numpy as np
#设置frame
data_file_path = "../数据分析_numpy/data.csv"
t1 = np.loadtxt(data_file_path)
print(t1)
只传入数据文档地址,将会报错,原文件中存储数据类型是String
,而numpy读取数据时默认数据类型为float
。
import numpy as np
#设置frame
data_file_path = "../数据分析_numpy/data.csv"
t1 = np.loadtxt(data_file_path,delimiter=",")
print(t1)
在只设定了delimiter属性
后,将原有数据以逗号分隔,numpy将分隔后的数据以数组形式呈现,并且采用科学计数法
import numpy as np
#设置frame
data_file_path = "../数据分析_numpy/data.csv"
t1 = np.loadtxt(data_file_path,delimiter=",",dtype="int")
print(t1)
这时我们设定dtype属性为int类型
,这样展示出的效果就是int类型的数组。
import numpy as np
#设置frame
data_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 np
t = 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.T
print(t3)
print("*"*15)
以上但种方法均可实现二维数组的转置效果,其实转置就像是交换轴~
PyDev console: starting.
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_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]]
***************