mirror of
https://github.com/apachecn/ailearning.git
synced 2026-04-24 02:23:45 +08:00
2020-10-19 21:08:55
This commit is contained in:
152
docs/da/047.md
152
docs/da/047.md
@@ -4,7 +4,7 @@
|
||||
|
||||
In [1]:
|
||||
|
||||
```
|
||||
```py
|
||||
import numpy as np
|
||||
|
||||
```
|
||||
@@ -15,14 +15,14 @@ import numpy as np
|
||||
|
||||
In [2]:
|
||||
|
||||
```
|
||||
```py
|
||||
%%writefile myfile.txt
|
||||
2.1 2.3 3.2 1.3 3.1
|
||||
6.1 3.1 4.2 2.3 1.8
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Writing myfile.txt
|
||||
|
||||
```
|
||||
@@ -31,7 +31,7 @@ Writing myfile.txt
|
||||
|
||||
In [3]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = []
|
||||
|
||||
with open('myfile.txt') as f:
|
||||
@@ -47,14 +47,14 @@ data = np.array(data)
|
||||
|
||||
In [4]:
|
||||
|
||||
```
|
||||
```py
|
||||
data
|
||||
|
||||
```
|
||||
|
||||
Out[4]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
[ 6.1, 3.1, 4.2, 2.3, 1.8]])
|
||||
```
|
||||
@@ -63,7 +63,7 @@ array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
|
||||
In [5]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.loadtxt('myfile.txt')
|
||||
data
|
||||
|
||||
@@ -71,7 +71,7 @@ data
|
||||
|
||||
Out[5]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
[ 6.1, 3.1, 4.2, 2.3, 1.8]])
|
||||
```
|
||||
@@ -80,14 +80,14 @@ array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
|
||||
In [6]:
|
||||
|
||||
```
|
||||
```py
|
||||
%%writefile myfile.txt
|
||||
2.1, 2.3, 3.2, 1.3, 3.1
|
||||
6.1, 3.1, 4.2, 2.3, 1.8
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Overwriting myfile.txt
|
||||
|
||||
```
|
||||
@@ -98,7 +98,7 @@ Overwriting myfile.txt
|
||||
|
||||
In [7]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.loadtxt('myfile.txt', delimiter=',')
|
||||
data
|
||||
|
||||
@@ -106,14 +106,14 @@ data
|
||||
|
||||
Out[7]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
[ 6.1, 3.1, 4.2, 2.3, 1.8]])
|
||||
```
|
||||
|
||||
### loadtxt 函数
|
||||
|
||||
```
|
||||
```py
|
||||
loadtxt(fname, dtype=<type 'float'>,
|
||||
comments='#', delimiter=None,
|
||||
converters=None, skiprows=0,
|
||||
@@ -126,7 +126,7 @@ loadtxt(fname, dtype=<type 'float'>,
|
||||
|
||||
In [8]:
|
||||
|
||||
```
|
||||
```py
|
||||
%%writefile myfile.txt
|
||||
X Y Z MAG ANG
|
||||
2.1 2.3 3.2 1.3 3.1
|
||||
@@ -134,28 +134,28 @@ X Y Z MAG ANG
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Overwriting myfile.txt
|
||||
|
||||
```
|
||||
|
||||
In [9]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.loadtxt('myfile.txt', skiprows=1)
|
||||
|
||||
```
|
||||
|
||||
Out[9]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 2.1, 2.3, 3.2, 1.3, 3.1],
|
||||
[ 6.1, 3.1, 4.2, 2.3, 1.8]])
|
||||
```
|
||||
|
||||
此外,有一个功能更为全面的 `genfromtxt` 函数,能处理更多的情况,但相应的速度和效率会慢一些。
|
||||
|
||||
```
|
||||
```py
|
||||
genfromtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None,
|
||||
skiprows=0, skip_header=0, skip_footer=0, converters=None,
|
||||
missing='', missing_values=None, filling_values=None, usecols=None,
|
||||
@@ -170,7 +170,7 @@ genfromtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None,
|
||||
|
||||
In [10]:
|
||||
|
||||
```
|
||||
```py
|
||||
%%writefile myfile.txt
|
||||
-- BEGINNING OF THE FILE
|
||||
% Day, Month, Year, Skip, Power
|
||||
@@ -180,14 +180,14 @@ In [10]:
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Overwriting myfile.txt
|
||||
|
||||
```
|
||||
|
||||
In [11]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.loadtxt('myfile.txt',
|
||||
skiprows=1, #忽略第一行
|
||||
dtype=np.int, #数组类型
|
||||
@@ -201,7 +201,7 @@ data
|
||||
|
||||
Out[11]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 1, 1, 2000, 13],
|
||||
[ 4, 1, 2000, 55]])
|
||||
```
|
||||
@@ -210,14 +210,14 @@ array([[ 1, 1, 2000, 13],
|
||||
|
||||
In [12]:
|
||||
|
||||
```
|
||||
```py
|
||||
%%writefile myfile.txt
|
||||
2010-01-01 2.3 3.2
|
||||
2011-01-01 6.1 3.1
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Overwriting myfile.txt
|
||||
|
||||
```
|
||||
@@ -226,7 +226,7 @@ Overwriting myfile.txt
|
||||
|
||||
In [13]:
|
||||
|
||||
```
|
||||
```py
|
||||
import datetime
|
||||
|
||||
def date_converter(s):
|
||||
@@ -244,7 +244,7 @@ data
|
||||
|
||||
Out[13]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[datetime.datetime(2010, 1, 1, 0, 0), 2.3, 3.2],
|
||||
[datetime.datetime(2011, 1, 1, 0, 0), 6.1, 3.1]], dtype=object)
|
||||
```
|
||||
@@ -253,7 +253,7 @@ array([[datetime.datetime(2010, 1, 1, 0, 0), 2.3, 3.2],
|
||||
|
||||
In [14]:
|
||||
|
||||
```
|
||||
```py
|
||||
import os
|
||||
os.remove('myfile.txt')
|
||||
|
||||
@@ -285,7 +285,7 @@ os.remove('myfile.txt')
|
||||
|
||||
In [15]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.array([[1,2],
|
||||
[3,4]])
|
||||
|
||||
@@ -295,14 +295,14 @@ np.savetxt('out.txt', data)
|
||||
|
||||
In [16]:
|
||||
|
||||
```
|
||||
```py
|
||||
with open('out.txt') as f:
|
||||
for line in f:
|
||||
print line,
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
1.000000000000000000e+00 2.000000000000000000e+00
|
||||
3.000000000000000000e+00 4.000000000000000000e+00
|
||||
|
||||
@@ -312,7 +312,7 @@ with open('out.txt') as f:
|
||||
|
||||
In [17]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.array([[1,2],
|
||||
[3,4]])
|
||||
|
||||
@@ -322,14 +322,14 @@ np.savetxt('out.txt', data, fmt="%d") #保存为整数
|
||||
|
||||
In [18]:
|
||||
|
||||
```
|
||||
```py
|
||||
with open('out.txt') as f:
|
||||
for line in f:
|
||||
print line,
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
1 2
|
||||
3 4
|
||||
|
||||
@@ -339,7 +339,7 @@ with open('out.txt') as f:
|
||||
|
||||
In [19]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.array([[1,2],
|
||||
[3,4]])
|
||||
|
||||
@@ -349,14 +349,14 @@ np.savetxt('out.txt', data, fmt="%.2f", delimiter=',') #保存为2位小数的
|
||||
|
||||
In [20]:
|
||||
|
||||
```
|
||||
```py
|
||||
with open('out.txt') as f:
|
||||
for line in f:
|
||||
print line,
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
1.00,2.00
|
||||
3.00,4.00
|
||||
|
||||
@@ -366,7 +366,7 @@ with open('out.txt') as f:
|
||||
|
||||
In [21]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.array([[1+1j,2],
|
||||
[3,4]])
|
||||
|
||||
@@ -376,14 +376,14 @@ np.savetxt('out.txt', data, fmt="%.2f", delimiter=',') #保存为2位小数的
|
||||
|
||||
In [22]:
|
||||
|
||||
```
|
||||
```py
|
||||
with open('out.txt') as f:
|
||||
for line in f:
|
||||
print line,
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
(1.00+1.00j), (2.00+0.00j)
|
||||
(3.00+0.00j), (4.00+0.00j)
|
||||
|
||||
@@ -391,7 +391,7 @@ with open('out.txt') as f:
|
||||
|
||||
更多参数:
|
||||
|
||||
```
|
||||
```py
|
||||
savetxt(fname,
|
||||
X,
|
||||
fmt='%.18e',
|
||||
@@ -406,7 +406,7 @@ savetxt(fname,
|
||||
|
||||
In [23]:
|
||||
|
||||
```
|
||||
```py
|
||||
import os
|
||||
os.remove('out.txt')
|
||||
|
||||
@@ -432,7 +432,7 @@ os.remove('out.txt')
|
||||
|
||||
In [24]:
|
||||
|
||||
```
|
||||
```py
|
||||
a = np.array([[1.0,2.0], [3.0,4.0]])
|
||||
|
||||
fname = 'afile.npy'
|
||||
@@ -442,7 +442,7 @@ np.save(fname, a)
|
||||
|
||||
In [25]:
|
||||
|
||||
```
|
||||
```py
|
||||
aa = np.load(fname)
|
||||
aa
|
||||
|
||||
@@ -450,7 +450,7 @@ aa
|
||||
|
||||
Out[25]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 1., 2.],
|
||||
[ 3., 4.]])
|
||||
```
|
||||
@@ -459,7 +459,7 @@ array([[ 1., 2.],
|
||||
|
||||
In [26]:
|
||||
|
||||
```
|
||||
```py
|
||||
import os
|
||||
os.remove('afile.npy')
|
||||
|
||||
@@ -469,7 +469,7 @@ os.remove('afile.npy')
|
||||
|
||||
In [27]:
|
||||
|
||||
```
|
||||
```py
|
||||
a = np.arange(10000.)
|
||||
|
||||
```
|
||||
@@ -478,7 +478,7 @@ a = np.arange(10000.)
|
||||
|
||||
In [28]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savetxt('a.txt', a)
|
||||
|
||||
```
|
||||
@@ -487,7 +487,7 @@ np.savetxt('a.txt', a)
|
||||
|
||||
In [29]:
|
||||
|
||||
```
|
||||
```py
|
||||
import os
|
||||
os.stat('a.txt').st_size
|
||||
|
||||
@@ -495,7 +495,7 @@ os.stat('a.txt').st_size
|
||||
|
||||
Out[29]:
|
||||
|
||||
```
|
||||
```py
|
||||
260000L
|
||||
```
|
||||
|
||||
@@ -503,7 +503,7 @@ Out[29]:
|
||||
|
||||
In [30]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.save('a.npy', a)
|
||||
|
||||
```
|
||||
@@ -512,14 +512,14 @@ np.save('a.npy', a)
|
||||
|
||||
In [31]:
|
||||
|
||||
```
|
||||
```py
|
||||
os.stat('a.npy').st_size
|
||||
|
||||
```
|
||||
|
||||
Out[31]:
|
||||
|
||||
```
|
||||
```py
|
||||
80080L
|
||||
```
|
||||
|
||||
@@ -527,7 +527,7 @@ Out[31]:
|
||||
|
||||
In [32]:
|
||||
|
||||
```
|
||||
```py
|
||||
os.remove('a.npy')
|
||||
os.remove('a.txt')
|
||||
|
||||
@@ -539,7 +539,7 @@ os.remove('a.txt')
|
||||
|
||||
In [33]:
|
||||
|
||||
```
|
||||
```py
|
||||
a = np.array([[1.0,2.0],
|
||||
[3.0,4.0]])
|
||||
b = np.arange(1000)
|
||||
@@ -550,7 +550,7 @@ b = np.arange(1000)
|
||||
|
||||
In [34]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savez('data.npz', a=a, b=b)
|
||||
|
||||
```
|
||||
@@ -559,12 +559,12 @@ np.savez('data.npz', a=a, b=b)
|
||||
|
||||
In [35]:
|
||||
|
||||
```
|
||||
```py
|
||||
!unzip -l data.npz
|
||||
|
||||
```
|
||||
|
||||
```
|
||||
```py
|
||||
Archive: data.npz
|
||||
Length Date Time Name
|
||||
--------- ---------- ----- ----
|
||||
@@ -579,7 +579,7 @@ Archive: data.npz
|
||||
|
||||
In [36]:
|
||||
|
||||
```
|
||||
```py
|
||||
data = np.load('data.npz')
|
||||
|
||||
```
|
||||
@@ -588,41 +588,41 @@ data = np.load('data.npz')
|
||||
|
||||
In [37]:
|
||||
|
||||
```
|
||||
```py
|
||||
data.keys()
|
||||
|
||||
```
|
||||
|
||||
Out[37]:
|
||||
|
||||
```
|
||||
```py
|
||||
['a', 'b']
|
||||
```
|
||||
|
||||
In [38]:
|
||||
|
||||
```
|
||||
```py
|
||||
data['a']
|
||||
|
||||
```
|
||||
|
||||
Out[38]:
|
||||
|
||||
```
|
||||
```py
|
||||
array([[ 1., 2.],
|
||||
[ 3., 4.]])
|
||||
```
|
||||
|
||||
In [39]:
|
||||
|
||||
```
|
||||
```py
|
||||
data['b'].shape
|
||||
|
||||
```
|
||||
|
||||
Out[39]:
|
||||
|
||||
```
|
||||
```py
|
||||
(1000L,)
|
||||
```
|
||||
|
||||
@@ -630,7 +630,7 @@ Out[39]:
|
||||
|
||||
In [40]:
|
||||
|
||||
```
|
||||
```py
|
||||
# 要先删除 data,否则删除时会报错
|
||||
del data
|
||||
|
||||
@@ -644,7 +644,7 @@ os.remove('data.npz')
|
||||
|
||||
In [41]:
|
||||
|
||||
```
|
||||
```py
|
||||
a = np.arange(20000.)
|
||||
|
||||
```
|
||||
@@ -653,7 +653,7 @@ a = np.arange(20000.)
|
||||
|
||||
In [42]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savez('a.npz', a=a)
|
||||
os.stat('a.npz').st_size
|
||||
|
||||
@@ -661,7 +661,7 @@ os.stat('a.npz').st_size
|
||||
|
||||
Out[42]:
|
||||
|
||||
```
|
||||
```py
|
||||
160188L
|
||||
```
|
||||
|
||||
@@ -669,7 +669,7 @@ Out[42]:
|
||||
|
||||
In [43]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savez_compressed('a2.npz', a=a)
|
||||
os.stat('a2.npz').st_size
|
||||
|
||||
@@ -677,7 +677,7 @@ os.stat('a2.npz').st_size
|
||||
|
||||
Out[43]:
|
||||
|
||||
```
|
||||
```py
|
||||
26885L
|
||||
```
|
||||
|
||||
@@ -687,7 +687,7 @@ Out[43]:
|
||||
|
||||
In [44]:
|
||||
|
||||
```
|
||||
```py
|
||||
a = np.random.rand(20000.)
|
||||
|
||||
```
|
||||
@@ -696,7 +696,7 @@ a = np.random.rand(20000.)
|
||||
|
||||
In [45]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savez('a.npz', a=a)
|
||||
os.stat('a.npz').st_size
|
||||
|
||||
@@ -704,7 +704,7 @@ os.stat('a.npz').st_size
|
||||
|
||||
Out[45]:
|
||||
|
||||
```
|
||||
```py
|
||||
160188L
|
||||
```
|
||||
|
||||
@@ -712,7 +712,7 @@ Out[45]:
|
||||
|
||||
In [46]:
|
||||
|
||||
```
|
||||
```py
|
||||
np.savez_compressed('a2.npz', a=a)
|
||||
os.stat('a2.npz').st_size
|
||||
|
||||
@@ -720,7 +720,7 @@ os.stat('a2.npz').st_size
|
||||
|
||||
Out[46]:
|
||||
|
||||
```
|
||||
```py
|
||||
151105L
|
||||
```
|
||||
|
||||
@@ -728,7 +728,7 @@ Out[46]:
|
||||
|
||||
In [47]:
|
||||
|
||||
```
|
||||
```py
|
||||
os.remove('a.npz')
|
||||
os.remove('a2.npz')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user