Python读取Excel列数据并分类统计+PCA散点图可视化
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()
代码说明:
- 导入库: 导入必要的库,包括pandas用于数据处理,numpy用于数值计算,matplotlib.pyplot用于绘图,以及sklearn.decomposition中的PCA用于降维。
- 读取数据: 使用pandas库的
read_excel()函数读取Excel文件。 - 提取数据: 从DataFrame中提取需要统计的列数据。
- 分类统计: 使用字典统计每类数据出现的次数。
- 数据转换: 将数据转换为矩阵形式,以便进行PCA降维。
- PCA降维: 使用sklearn库中的
PCA类对数据进行降维,这里将维度降至2维。 - 绘制散点图: 使用matplotlib库中的
scatter()函数绘制散点图,展示降维后的数据。
注意事项:
- 将代码中的'data.xlsx'替换为实际的Excel文件名,'Sheet1'替换为实际的工作表名,'某一列数据'替换为实际需要统计的列名。
- 确保已经安装了所需的库:pandas, numpy, matplotlib, sklearn。
这段代码提供了一个简单的数据分析和可视化流程,可以帮助用户快速了解数据的分布情况。
原文地址: https://www.cveoy.top/t/topic/f0a1 著作权归作者所有。请勿转载和采集!