Numpy学习——输入与输出
Numpy与Pandas读取和输入鸢尾花数据的对比
import numpy as np
import pandas as pd
outfile = r'./iris.csv'
# 用numpy读取,数据类型为字符串,分隔符为逗号
iris_np = np.loadtxt(outfile, dtype=str, delimiter=',')
iris_pd = pd.read_csv(outfile, index_col=0) # 用pandas读取,设第一列为index
iris_np[:10] # 展示numpy读取数据的前10行
array([['', 'Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width',
'Species'],
['1', '5.1', '3.5', '1.4', '0.2', 'setosa'],
['2', '4.9', '3.0', '1.4', '0.2', 'setosa'],
['3', '4.7', '3.2', '1.3', '0.2', 'setosa'],
['4', '4.6', '3.1', '1.5', '0.2', 'setosa'],
['5', '5.0', '3.6', '1.4', '0.2', 'setosa'],
['6', '5.4', '3.9', '1.7', '0.4', 'setosa'],
['7', '4.6', '3.4', '1.4', '0.3', 'setosa'],
['8', '5.0', '3.4', '1.5', '0.2', 'setosa'],
['9', '4.4', '2.9', '1.4', '0.2', 'setosa']], dtype='<U12')
iris_pd # 展示pandas读取的数据
Sepal.Length | Sepal.Width | Petal.Length | Petal.Width | Species | |
---|---|---|---|---|---|
1 | 5.1 | 3.5 | 1.4 | 0.2 | setosa |
2 | 4.9 | 3.0 | 1.4 | 0.2 | setosa |
3 | 4.7 | 3.2 | 1.3 | 0.2 | setosa |
4 | 4.6 | 3.1 | 1.5 | 0.2 | setosa |
5 | 5.0 | 3.6 | 1.4 | 0.2 | setosa |
... | ... | ... | ... | ... | ... |
146 | 6.7 | 3.0 | 5.2 | 2.3 | virginica |
147 | 6.3 | 2.5 | 5.0 | 1.9 | virginica |
148 | 6.5 | 3.0 | 5.2 | 2.0 | virginica |
149 | 6.2 | 3.4 | 5.4 | 2.3 | virginica |
150 | 5.9 | 3.0 | 5.1 | 1.8 | virginica |
150 rows × 5 columns
np.savetxt('iris_np.csv', iris_np, fmt='%s', delimiter=',') # numpy保存数据
iris_pd.to_csv('iris.csv') # pandas保存数据