Python读取csv文件做K-means分析详情

目录
  • 1.运行环境及数据
  • 2.基于时间序列的分析2D
    • 2.1 2000行数据结果展示
    • 2.2 6950行数据结果展示
    • 2.3 300M,约105万行数据结果展示
  • 3.经纬度高程三维坐标分类显示3D-空间点聚类
    • 3.1 2000行数据结果显示
    • 3.2 300M的CSV数据计算显示效果

1.运行环境及数据

Python3.7、PyCharm Community Edition 2021.1.1,win10系统。

使用的库:matplotlib、numpy、sklearn、pandas等

数据:CSV文件,包含时间,经纬度,高程等数据

2.基于时间序列的分析2D

读取时间列和高程做一下分析:

代码如下:

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans, MiniBatchKMeans
import pandas as pd
 
if __name__ == "__main__":
    data = pd.read_csv(r"H:\CSDN_Test_Data\UseYourTestData.csv")
    x, y = data['Time (sec)'], data['Height (m HAE)']
    n = len(x)
    x = np.array(x)
    x = x.reshape(n, 1)#reshape 为一列
    y = np.array(y)
    y = y.reshape(n, 1)#reshape 为一列
    data = np.hstack((x, y)) #水平合并为两列
    k = 8  # 设置颜色聚类的类别个数(我们分别设置8,16,32,64,128进行对比)
    cluster = KMeans(n_clusters=k)  # 构造聚类器
    C = cluster.fit_predict(data)
    # C_Image = cluster.fit_predict(data)
    print("训练总耗时为:%s(s)" % (Trainingtime).seconds)
    plt.figure()
    plt.scatter(data[:, 0], data[:, 1], marker='o', s=2, c=C)
    plt.show()

结果展示:

2.1 2000行数据结果展示

2.2 6950行数据结果展示

2.3 300M,约105万行数据结果展示

CPU立马90%以上了。大约1-2分钟,也比较快了。

markersize有些大了, 将markersize改小一些显示,设置为0.1,点太多还是不明显。

3.经纬度高程三维坐标分类显示3D-空间点聚类

修改代码,读取相应的列修改为X,Y,Z坐标:如下:

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans, MiniBatchKMeans
import pandas as pd
from mpl_toolkits.mplot3d import Axes3D
 
if __name__ == "__main__":
    data = pd.read_csv(r"H:\CSDN_Test_Data\UseYourTestData.csv")
    x, y,z = data['Longitude (deg)'],data['Latitude (deg)'],  data['Height (m HAE)']
    n = len(x)
    x = np.array(x)
    x = x.reshape(n, 1)#reshape 为一列
    y = np.array(y)
    y = y.reshape(n, 1)#reshape 为一列
    z = np.array(z)
    z = z.reshape(n, 1)  # reshape 为一列
    data = np.hstack((x, y, z)) #水平合并为两列
    k = 8  # 设置颜色聚类的类别个数(我们分别设置8,16,32,64,128进行对比)
    cluster = KMeans(n_clusters=k)  # 构造聚类器
    C = cluster.fit_predict(data)
 
    # C_Image = cluster.fit_predict(data)
    print("训练总耗时为:%s(s)" % (Trainingtime).seconds)
    fig = plt.figure()
    ax = Axes3D(fig)
 
    ax.scatter(data[:, 0], data[:, 1],data[:, 2], s=1, c=C)
    # 绘制图例
    ax.legend(loc='best')
    # 添加坐标轴
    ax.set_zlabel('Z Label', fontdict={'size': 15, 'color': 'red'})
    ax.set_ylabel('Y Label', fontdict={'size': 15, 'color': 'red'})
    ax.set_xlabel('X Label', fontdict={'size': 15, 'color': 'red'})
    plt.show()

3.1 2000行数据结果显示

由于经度在纬度方向上在17m范围类,所以立体效果较差,可以换其他数据测试。

3.2 300M的CSV数据计算显示效果

105万行数据显示结果:

到此这篇关于Python读取csv文件做K-means分析详情的文章就介绍到这了,更多相关Python读取csv文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Pandas读取csv/tsv文件(read_csv,read_table)的区别

    目录 前言 read_csv()和read_table()之间的区别 读取没有标题的CSV 读取有标题的CSV 读取有index的CSV 指定(选择)要读取的列 跳过(排除)行的读取 skiprows skipfooter nrows 通过指定类型dtype进行读取 NaN缺失值的处理 读取使用zip等压缩的文件 tsv的读取 总结 前言 要将csv和tsv文件读取为pandas.DataFrame格式,可以使用Pandas的函数read_csv()或read_table(). 在此 read_

  • 人工智能——K-Means聚类算法及Python实现

    目录 1 概述 1.1 无监督学习 1.2 聚类 1.3 K-Mean均值算法 2 K-Mean均值算法 2.1 引入 2.2 针对大样本集的改进算法:Mini Batch K-Means 2.3 图像 3 案例1 3.1 代码 3.2 结果 4 案例2 4.1 案例——数据 4.2 代码 4.3 结果 4.4 拓展&&改进 1 概述 1.1 无监督学习 在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正样本和负样本的决策边界,在这里的监督学习中,我们有一系列标签

  • 详解Python读取和写入操作CSV文件的方法

    目录 什么是 CSV 文件? 内置 CSV 库解析 CSV 文件 读取 CSV 文件csv 将 CSV 文件读入字典csv 可选的 Python CSV reader参数 使用 csv 写入文件 从字典中写入 CSV 文件csv 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 最流行的数据交换格式之一是 CSV 格式.是需要通过键盘和控制台以外的方式将信息输入和输出的程序,通过文本文件交换信息是在程序之间共享信息的常用方法. 这里带和

  • Python+OpenCV实战之利用 K-Means 聚类进行色彩量化

    目录 前言 利用 K-Means 聚类进行色彩量化 完整代码 显示色彩量化后的色彩分布 前言 K-Means 聚类算法的目标是将 n 个样本划分(聚类)为 K 个簇,在博文<OpenCV与机器学习的碰撞>中,我们已经学习利用 OpenCV 提供了 cv2.kmeans() 函数实现 K-Means 聚类算法,该算法通过找到簇的中心并将输入样本分组到簇周围,同时通过简单的示例了解了 K-Means 算法的用法.在本文中,我们将学习如何利用 K-Means 聚类进行色彩量化,以减少图像中颜色数量.

  • python基础教程之csv格式文件的写入与读取

    目录 csv的简单介绍 csv的写入 第一种写入方法(通过创建writer对象) 第二种写入方法(使用DictWriter可以使用字典的方式将数据写入) csv的读取 通过reader()读取 通过dictreader()读取 总结 csv的简单介绍 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符.很多程序在处理数据时都会碰到csv这种格式的文件.python自带了csv模

  • Python 文本文件与csv文件的读取与写入

    目录 一.文本文件读取与写入 1读取文件的read()方法 2读取文件的readline()方法 3读取文件的readlines()方法 4写入文件的write()方法 5写入文件的writelines()方法 二.csv文件读取与写入 一.文本文件读取与写入 1 读取文件的 read() 方法 file_object.read([size]) file_object 表示文件对象 size 表示读取数据的长度,单位是字节,如果size省略则读至文件尾 返回值是读取到的字符串 2 读取文件的 r

  • ​python中pandas读取csv文件​时如何省去csv.reader()操作指定列步骤

    优点: 方便,有专门支持读取csv文件的pd.read_csv()函数. 将csv转换成二维列表形式 支持通过列名查找特定列. 相比csv库,事半功倍 1.读取csv文件 import pandas as pd   file="c:\data\test.csv" csvPD=pd.read_csv(file)   df = pd.read_csv('data.csv', encoding='gbk') #指定编码     read_csv()方法参数介绍 filepath_or_buf

  • Python读取csv文件做K-means分析详情

    目录 1.运行环境及数据 2.基于时间序列的分析2D 2.1 2000行数据结果展示 2.2 6950行数据结果展示 2.3 300M,约105万行数据结果展示 3.经纬度高程三维坐标分类显示3D-空间点聚类 3.1 2000行数据结果显示 3.2 300M的CSV数据计算显示效果 1.运行环境及数据 Python3.7.PyCharm Community Edition 2021.1.1,win10系统. 使用的库:matplotlib.numpy.sklearn.pandas等 数据:CSV

  • python导入csv文件出现SyntaxError问题分析

    背景 np.loadtxt()用于从文本加载数据. 文本文件中的每一行必须含有相同的数据. *** loadtxt(fname,dtype=<class'float'>,comments='#',delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0) fname要读取的文件.文件名.或生成器. dtype数据类型,默认float. comments注释. delimiter分隔符,默认是空格. s

  • python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0) 写: numpy.savetxt('2.csv', my_matrix, delimiter = ',') 可能遇到的问题: SyntaxError: (unicode error) 'unicodeescape' codec

  • 教你用Python读取CSV文件的5种方式

    目录 第一招:简单的读取 第二招:用nametuple 第三招:用tuple类型转换 第四招:用DictReader 第五招:用字典转换 典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据.有股票代码,价格,日期,时间,价格变动和成交量.这个数据集其实就是一个表格数据,有自己的头部和身体. 第一招:简单的读取 我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码: 喂给re

  • python读取csv文件并把文件放入一个list中的实例讲解

    如下所示: #coding=utf8 ''' 读取CSV文件,把csv文件放在一份list中. ''' import csv class readCSV(object): def __init__(self,path="Demo.csv"): #创建一个属性用来保存要操作CSV的文件 self.path=path try: #打开一个csv文件,并赋予读的权限 self.csvHand=open(self.path,"r") #调用csv的reader函数读取csv

  • Python读取csv文件分隔符设置方法

    Windows下的分隔符默认的是逗号,而MAC的分隔符是分号.拿到一份用分号分割的CSV文件,在Win下是无法正确读取的,因为CSV模块默认调用的是Excel的规则. 所以我们在读取文件的时候需要添加分割符变量. import csv import os cwd = os.getcwd() print ("Current folder is %s" % (cwd) ) csvfile = open( cwd + '\data\eclipse\change-metrics.csv','r

  • 使用python读取csv文件快速插入数据库的实例

    如下所示: # -*- coding:utf-8 -*- # auth:ckf # date:20170703 import pandas as pd import cStringIO import warnings from sqlalchemy import create_engine import sys reload(sys) sys.setdefaultencoding('utf8') warnings.filterwarnings('ignore') engine = create_

  • Python读取csv文件实例解析

    这篇文章主要介绍了Python读取csv文件实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建一个csv文件,命名为data.csv,文本内容如下: root,123456,login successfully root,wrong,wrong password wrong,123456,nonexistent username ,123456,username is null root,,password is null 使用Exc

  • 利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后利用numpy模块即可求出需要的数据. 这里利用了csv模块来对文件进行处理,最终实现的代码如下: import csv import numpy as np with open('pingan_stock.csv') as csv_file: row = csv.reader(csv_file,

  • Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后利用numpy模块即可求出需要的数据. 这里利用了csv模块来对文件进行处理,最终实现的代码如下: import csv import numpy as np with open('pingan_stock.csv') as csv_file: row = csv.reader(csv_file,

随机推荐