Python 如何使用Scikit读取.txt文件
这就是错误:Python 如何使用Scikit读取.txt文件,python,pandas,scikit-learn,Python,Pandas,Scikit Learn,这就是错误: import pandas from pandas.tools.plotting import scatter_matrix import matplotlib.pyplot as plt from sklearn import model_selection from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from sklearn.metr
import pandas
from pandas.tools.plotting import scatter_matrix
import matplotlib.pyplot as plt
from sklearn import model_selection
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
# Load dataset
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/yeast/yeast.data"
names = ['Sequence Name','mcg', 'gvh', 'alm', 'mit', 'erl','pox','vac','nuc']
dataset = pandas.read_csv(url, names=names)
# shape
print(dataset.shape)
# head
print(dataset.head(20))
# descriptions
print(dataset.describe())
# class distribution
print(dataset.groupby('').size())
# box and whisker plots
dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False)
plt.show()
# histograms
dataset.hist()
plt.show()
# scatter plot matrix
scatter_matrix(dataset)
plt.show()
序列名mcg gvh alm mit\
0 ADT1_酵母0.58 0.61 0.47 0.13 0.50 0.00。。。楠楠楠楠楠楠
1 ADT2_酵母0.43 0.67 0.48 0.27 0.50 0.00。。。楠楠楠楠楠楠
2 ADT3_酵母0.64 0.62 0.49 0.15 0.50 0.00。。。楠楠楠楠楠楠
3 AAR2_酵母0.58 0.44 0.57 0.13 0.50 0.00。。。楠楠楠楠楠楠
4 AATM_酵母0.42 0.44 0.48 0.54 0.50 0.00。。。楠楠楠楠楠楠
5 AATC_酵母0.51 0.40 0.56 0.17 0.50 0.50。。。楠楠楠楠楠楠
6 ABC1_酵母0.50 0.54 0.48 0.65 0.50 0.00。。。楠楠楠楠楠楠
7 BAF1_酵母0.48 0.45 0.59 0.20 0.50 0.00。。。楠楠楠楠楠楠
8 ABF2_酵母0.55 0.50 0.66 0.36 0.50 0.00。。。楠楠楠楠楠楠
9 ABP1_酵母0.40 0.39 0.60 0.15 0.50 0.00。。。楠楠楠楠楠楠
10 ACE1_酵母0.43 0.39 0.54 0.21 0.50 0.00。。。楠楠楠楠楠楠
11 ACE2_酵母0.42 0.37 0.59 0.20 0.50 0.00。。。楠楠楠楠楠楠
12 ACH1_酵母0.40 0.42 0.57 0.35 0.50 0.00。。。楠楠楠楠楠楠
13乌头酵母0.60 0.40 0.52 0.46 0.50 0.00。。。楠楠楠楠楠楠
14 ACR1_酵母0.66 0.55 0.45 0.19 0.50 0.00。。。楠楠楠楠楠楠
15 ACT_酵母0.46 0.44 0.52 0.11 0.50 0.00。。。楠楠楠楠楠楠
16 ACT2_酵母0.47 0.39 0.50 0.11 0.50 0.00。。。楠楠楠楠楠楠
17 ACT3_酵母0.58 0.47 0.54 0.11 0.50 0.00。。。楠楠楠楠楠楠
18 ACT5_酵母0.50 0.34 0.55 0.21 0.50 0.00。。。楠楠楠楠楠楠
19 ADA2_酵母0.61 0.60 0.55 0.21 0.50 0.00。。。楠楠楠楠楠楠
erl痘病毒
0楠楠楠楠楠
1楠楠楠楠楠
2楠楠楠楠楠
3楠楠楠楠楠
4楠楠楠楠
5楠楠楠楠
6楠楠楠楠楠
7楠楠楠楠
8楠楠楠楠
9楠楠楠楠
10楠楠楠楠
11楠楠楠楠
12楠楠楠楠楠
13楠楠楠楠
14楠楠楠楠
15楠楠楠楠
16楠楠楠楠
17楠楠楠楠
18楠楠楠楠
19楠楠楠楠
mcg gvh alm mit erl pox vac nuc
计数0.0.0.0.0.0.0.0.0.0.0.0
平均楠楠楠楠楠楠楠楠楠楠楠楠楠
标准楠楠楠楠楠楠楠楠楠
闽南南
25%楠楠
50%楠楠
75%楠楠
马克斯南南南南
回溯(最近一次呼叫最后一次):
文件“”,第35行,在
打印(数据集.groupby(“”).size())
问题是Yeast.data不是逗号分隔的。现在我有一个培训数据,它是逗号分隔的,但不是.csv格式,而是纯文本文档,我无法用Excel打开它。如何使用Pandas读取它?分隔符/分隔符参数的默认值是
,
in,因此您必须显式设置它:
Sequence Name mcg gvh alm mit \
0 ADT1_YEAST 0.58 0.61 0.47 0.13 0.50 0.00... NaN NaN NaN NaN
1 ADT2_YEAST 0.43 0.67 0.48 0.27 0.50 0.00... NaN NaN NaN NaN
2 ADT3_YEAST 0.64 0.62 0.49 0.15 0.50 0.00... NaN NaN NaN NaN
3 AAR2_YEAST 0.58 0.44 0.57 0.13 0.50 0.00... NaN NaN NaN NaN
4 AATM_YEAST 0.42 0.44 0.48 0.54 0.50 0.00... NaN NaN NaN NaN
5 AATC_YEAST 0.51 0.40 0.56 0.17 0.50 0.50... NaN NaN NaN NaN
6 ABC1_YEAST 0.50 0.54 0.48 0.65 0.50 0.00... NaN NaN NaN NaN
7 BAF1_YEAST 0.48 0.45 0.59 0.20 0.50 0.00... NaN NaN NaN NaN
8 ABF2_YEAST 0.55 0.50 0.66 0.36 0.50 0.00... NaN NaN NaN NaN
9 ABP1_YEAST 0.40 0.39 0.60 0.15 0.50 0.00... NaN NaN NaN NaN
10 ACE1_YEAST 0.43 0.39 0.54 0.21 0.50 0.00... NaN NaN NaN NaN
11 ACE2_YEAST 0.42 0.37 0.59 0.20 0.50 0.00... NaN NaN NaN NaN
12 ACH1_YEAST 0.40 0.42 0.57 0.35 0.50 0.00... NaN NaN NaN NaN
13 ACON_YEAST 0.60 0.40 0.52 0.46 0.50 0.00... NaN NaN NaN NaN
14 ACR1_YEAST 0.66 0.55 0.45 0.19 0.50 0.00... NaN NaN NaN NaN
15 ACT_YEAST 0.46 0.44 0.52 0.11 0.50 0.00... NaN NaN NaN NaN
16 ACT2_YEAST 0.47 0.39 0.50 0.11 0.50 0.00... NaN NaN NaN NaN
17 ACT3_YEAST 0.58 0.47 0.54 0.11 0.50 0.00... NaN NaN NaN NaN
18 ACT5_YEAST 0.50 0.34 0.55 0.21 0.50 0.00... NaN NaN NaN NaN
19 ADA2_YEAST 0.61 0.60 0.55 0.21 0.50 0.00... NaN NaN NaN NaN
erl pox vac nuc
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
5 NaN NaN NaN NaN
6 NaN NaN NaN NaN
7 NaN NaN NaN NaN
8 NaN NaN NaN NaN
9 NaN NaN NaN NaN
10 NaN NaN NaN NaN
11 NaN NaN NaN NaN
12 NaN NaN NaN NaN
13 NaN NaN NaN NaN
14 NaN NaN NaN NaN
15 NaN NaN NaN NaN
16 NaN NaN NaN NaN
17 NaN NaN NaN NaN
18 NaN NaN NaN NaN
19 NaN NaN NaN NaN
mcg gvh alm mit erl pox vac nuc
count 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
mean NaN NaN NaN NaN NaN NaN NaN NaN
std NaN NaN NaN NaN NaN NaN NaN NaN
min NaN NaN NaN NaN NaN NaN NaN NaN
25% NaN NaN NaN NaN NaN NaN NaN NaN
50% NaN NaN NaN NaN NaN NaN NaN NaN
75% NaN NaN NaN NaN NaN NaN NaN NaN
max NaN NaN NaN NaN NaN NaN NaN NaN
Traceback (most recent call last):
File "<ipython-input-28-633123d66170>", line 35, in <module>
print(dataset.groupby('').size())
或者,您可以使用以下方法:
In [6]: dataset = pd.read_csv(url, names=names, delim_whitespace=True)
In [7]: dataset
Out[7]:
Sequence Name mcg gvh alm mit erl pox vac nuc
ADT1_YEAST 0.58 0.61 0.47 0.13 0.5 0.0 0.48 0.22 MIT
ADT2_YEAST 0.43 0.67 0.48 0.27 0.5 0.0 0.53 0.22 MIT
ADT3_YEAST 0.64 0.62 0.49 0.15 0.5 0.0 0.53 0.22 MIT
AAR2_YEAST 0.58 0.44 0.57 0.13 0.5 0.0 0.54 0.22 NUC
AATM_YEAST 0.42 0.44 0.48 0.54 0.5 0.0 0.48 0.22 MIT
AATC_YEAST 0.51 0.40 0.56 0.17 0.5 0.5 0.49 0.22 CYT
ABC1_YEAST 0.50 0.54 0.48 0.65 0.5 0.0 0.53 0.22 MIT
BAF1_YEAST 0.48 0.45 0.59 0.20 0.5 0.0 0.58 0.34 NUC
ABF2_YEAST 0.55 0.50 0.66 0.36 0.5 0.0 0.49 0.22 MIT
ABP1_YEAST 0.40 0.39 0.60 0.15 0.5 0.0 0.58 0.30 CYT
... ... ... ... ... ... ... ... ... ...
YP52_YEAST 0.48 0.61 0.57 0.17 0.5 0.0 0.45 0.22 CYT
YP53_YEAST 0.71 0.50 0.50 0.18 0.5 0.0 0.46 0.22 CYT
YPT7_YEAST 0.61 0.48 0.54 0.25 0.5 0.0 0.50 0.22 CYT
R29A_YEAST 0.38 0.32 0.64 0.41 0.5 0.0 0.44 0.11 CYT
R29B_YEAST 0.38 0.40 0.66 0.35 0.5 0.0 0.43 0.11 CYT
YUR1_YEAST 0.81 0.62 0.43 0.17 0.5 0.0 0.53 0.22 ME2
ZIP1_YEAST 0.47 0.43 0.61 0.40 0.5 0.0 0.48 0.47 NUC
ZNRP_YEAST 0.67 0.57 0.36 0.19 0.5 0.0 0.56 0.22 ME2
ZUO1_YEAST 0.43 0.40 0.60 0.16 0.5 0.0 0.53 0.39 NUC
G6PD_YEAST 0.65 0.54 0.54 0.13 0.5 0.0 0.53 0.22 CYT
[1484 rows x 9 columns]
In [8]: dataset = pd.read_fwf(url, names=names)
In [9]: dataset
Out[9]:
Sequence Name mcg gvh alm mit erl pox vac nuc
ADT1_YEAST 0.58 0.61 0.47 0.13 0.5 0.0 0.48 0.22 MIT
ADT2_YEAST 0.43 0.67 0.48 0.27 0.5 0.0 0.53 0.22 MIT
ADT3_YEAST 0.64 0.62 0.49 0.15 0.5 0.0 0.53 0.22 MIT
AAR2_YEAST 0.58 0.44 0.57 0.13 0.5 0.0 0.54 0.22 NUC
AATM_YEAST 0.42 0.44 0.48 0.54 0.5 0.0 0.48 0.22 MIT
AATC_YEAST 0.51 0.40 0.56 0.17 0.5 0.5 0.49 0.22 CYT
ABC1_YEAST 0.50 0.54 0.48 0.65 0.5 0.0 0.53 0.22 MIT
BAF1_YEAST 0.48 0.45 0.59 0.20 0.5 0.0 0.58 0.34 NUC
ABF2_YEAST 0.55 0.50 0.66 0.36 0.5 0.0 0.49 0.22 MIT
ABP1_YEAST 0.40 0.39 0.60 0.15 0.5 0.0 0.58 0.30 CYT
... ... ... ... ... ... ... ... ... ...
YP52_YEAST 0.48 0.61 0.57 0.17 0.5 0.0 0.45 0.22 CYT
YP53_YEAST 0.71 0.50 0.50 0.18 0.5 0.0 0.46 0.22 CYT
YPT7_YEAST 0.61 0.48 0.54 0.25 0.5 0.0 0.50 0.22 CYT
R29A_YEAST 0.38 0.32 0.64 0.41 0.5 0.0 0.44 0.11 CYT
R29B_YEAST 0.38 0.40 0.66 0.35 0.5 0.0 0.43 0.11 CYT
YUR1_YEAST 0.81 0.62 0.43 0.17 0.5 0.0 0.53 0.22 ME2
ZIP1_YEAST 0.47 0.43 0.61 0.40 0.5 0.0 0.48 0.47 NUC
ZNRP_YEAST 0.67 0.57 0.36 0.19 0.5 0.0 0.56 0.22 ME2
ZUO1_YEAST 0.43 0.40 0.60 0.16 0.5 0.0 0.53 0.39 NUC
G6PD_YEAST 0.65 0.54 0.54 0.13 0.5 0.0 0.53 0.22 CYT
[1484 rows x 9 columns]