2019118_四个化学数据分析(1)

这是第一个,每个都有配套的文档

import pandas as pd
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
import matplotlib.pyplot as plt
%matplotlib inline
test=pd.read_excel('2017年南区污水试验检测结果统计表(周检).xlsx')
test.head()
取样地点 取样日期 编号 化学需氧量 氨氮 总氮 总磷
0 南区污水 2017-05-22 170522WST01 1.21 0.025 0.05 0.030 0.01
1 南区污水 2017-05-22 170522WST02 360.00 0.091 50.50 0.910 0.01
2 南区污水 2017-06-01 170601WST03 20.70 0.025 2.03 0.006 0.01
3 南区污水 2017-06-01 170601WST04 39.60 0.605 27.60 2.430 0.01
4 南区科研 2017-06-05 170605WST04 45.80 0.312 21.70 0.983 0.01
test.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 18 entries, 0 to 17
Data columns (total 8 columns):
取样地点     18 non-null object
取样日期     18 non-null datetime64[ns]
编号       18 non-null object
化学需氧量    18 non-null float64
氨氮       18 non-null float64
总氮       18 non-null float64
总磷       18 non-null float64
锰        18 non-null float64
dtypes: datetime64[ns](1), float64(5), object(2)
memory usage: 1.2+ KB
test.hist(figsize=(20,10))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x00000171E856CD30>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x00000171E85D2828>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x00000171E884AEB8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x00000171E887B588>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x00000171E88A3C18>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x00000171E88A3C50>]],
      dtype=object)

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KrFgpysM-1574996603612)(output_4_1.png)]

test['取样地点'].unique()
array(['南区污水', '南区科研', '反渗透水', '超滤出水', '超滤进水', '超滤产水'], dtype=object)
X = test.drop(['取样地点','编号','取样日期'],axis=1)

通过聚类算法验证是否可行

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
X = np.array(X)
#类簇的数量
n_clusters = 4
#现在把数据和对应的分类书放入聚类函数中进行聚类
cls = KMeans(n_clusters).fit(X)
#X中每项所属分类的一个列表
cls.labels_
#画图
markers = ['^', 'x', 'o', '*', '+']
for i in range(n_clusters):
  members = cls.labels_ == i
  plt.scatter(X[members, 0], X[members, 1], s=60, marker=markers[i], c='b', alpha=0.5)
plt.title(' ')
plt.show()

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XhFLbFX7-1574996603613)(output_8_0.png)]

发布了76 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39309652/article/details/103306882
今日推荐