Python读取Excel列数据并分类统计,使用PCA算法绘制散点图

本文提供一个Python示例代码,用于读取Excel文件中的指定列数据,对其进行分类统计,并使用PCA算法对数据进行降维,最后绘制散点图进行可视化。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 获取需要统计的列数据
col_data = df['某一列数据']

# 分类统计每类数量
count_dict = {}
for data in col_data:
    if data in count_dict:
        count_dict[data] += 1
    else:
        count_dict[data] = 1

# 输出每类数量
for key, value in count_dict.items():
    print(key, value)

# 将数据转换为矩阵形式
data_matrix = np.array(col_data).reshape(-1, 1)

# 进行PCA降维
pca = PCA(n_components=2)
pca_data = pca.fit_transform(data_matrix)

# 绘制散点图
plt.scatter(pca_data[:, 0], pca_data[:, 1])
plt.show()

代码说明:

  1. 导入库: 导入必要的库,包括pandas用于数据处理,numpy用于数值计算,matplotlib.pyplot用于绘图,以及sklearn.decomposition中的PCA用于降维。
  2. 读取数据: 使用pandas库的read_excel()函数读取Excel文件。
  3. 提取数据: 从DataFrame中提取需要统计的列数据。
  4. 分类统计: 使用字典统计每类数据出现的次数。
  5. 数据转换: 将数据转换为矩阵形式,以便进行PCA降维。
  6. PCA降维: 使用sklearn库中的PCA类对数据进行降维,这里将维度降至2维。
  7. 绘制散点图: 使用matplotlib库中的scatter()函数绘制散点图,展示降维后的数据。

注意事项:

  • 将代码中的'data.xlsx'替换为实际的Excel文件名,'Sheet1'替换为实际的工作表名,'某一列数据'替换为实际需要统计的列名。
  • 确保已经安装了所需的库:pandas, numpy, matplotlib, sklearn。

这段代码提供了一个简单的数据分析和可视化流程,可以帮助用户快速了解数据的分布情况。

Python读取Excel列数据并分类统计+PCA散点图可视化

原文地址: https://www.cveoy.top/t/topic/f0a1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录