现有格式非常杂乱的原始数据集,对其进行处理,并计算相关系数。
原始数据集部分如图所示:
计算每一列之间的相关系数,计算之后的结果如图所示:
代码实现如下:
import pandas as pd
#读取数据
df = pd.read_excel('E:/数据处理/相关系数计算原数据.xlsx')
#使用dtypes属性查看每列的数据类型
print(df.dtypes)
# 使用select_dtypes()方法选择非数字类型的列
non_numeric_columns = df.select_dtypes(exclude=['number']).columns
print("非数字类型的列:", non_numeric_columns)
# 使用info()方法查看DataFrame的整体信息
print(df.info())
# 使用applymap()方法将非数字类型数据转换为NaN
df_numeric = df.applymap(lambda x: pd.to_numeric(x, errors='coerce'))
print("转换非数字类型数据后的DataFrame:")
print(df_numeric)
#计算相关系数矩阵
d = df_numeric.corr(method='spearman')
print(d)
d.to_excel('E:/数据处理/相关系数表.xlsx')
数据处理格式参考:
如何使用 Pandas 删除 DataFrame 中的非数字类型数据-CSDN博客
感谢老哥!