2020-10-19 21:08:55

This commit is contained in:
wizardforcel
2020-10-19 21:08:55 +08:00
parent 7f63048035
commit ab0caba1f0
140 changed files with 3982 additions and 3982 deletions

View File

@@ -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')