Python----数据分析-numpy.本地数据读取、转置

Python----数据分析-numpy.本地数据读取

本地数据的读取

CSV:comma-separated value,逗号分隔值文件
显示:表格状态
源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示以条记录

Python----数据分析-numpy.本地数据读取、转置_第1张图片
Python----数据分析-numpy.本地数据读取、转置_第2张图片

frame属性

import numpy as np

#设置frame
data_file_path = "../数据分析_numpy/data.csv"

t1 = np.loadtxt(data_file_path)

print(t1)

只传入数据文档地址,将会报错,原文件中存储数据类型是String,而numpy读取数据时默认数据类型为floatPython----数据分析-numpy.本地数据读取、转置_第3张图片

delimiter属性

import numpy as np

#设置frame
data_file_path = "../数据分析_numpy/data.csv"

t1 = np.loadtxt(data_file_path,delimiter=",")

print(t1)

在只设定了delimiter属性后,将原有数据以逗号分隔,numpy将分隔后的数据以数组形式呈现,并且采用科学计数法
Python----数据分析-numpy.本地数据读取、转置_第4张图片

dtype属性

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类型的数组。

Python----数据分析-numpy.本地数据读取、转置_第5张图片

unpack属性

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]]
***************

你可能感兴趣的:(#,Python数据分析-M,N,P)