读取给定的CSV文件,分别计算第2列和第3列数据的平均值、中位数、众数、方差和标准差,计算第2列数据和第3列数据的皮尔森相关系数,将结果写入到本地的D:\Exp1_Result_CSV.txt。
时间: 2023-12-03 11:42:54 浏览: 99
这里提供一个Python实现的示例代码:
```python
import csv
import numpy as np
from scipy import stats
# 读取CSV文件
filename = 'data.csv'
with open(filename, 'r') as f:
reader = csv.reader(f)
data = list(reader)
# 将第2列和第3列数据转换为numpy数组
col2 = np.array([float(row[1]) for row in data[1:]])
col3 = np.array([float(row[2]) for row in data[1:]])
# 计算平均值、中位数、众数、方差和标准差
col2_mean = np.mean(col2)
col3_mean = np.mean(col3)
col2_median = np.median(col2)
col3_median = np.median(col3)
col2_mode = stats.mode(col2)[0][0]
col3_mode = stats.mode(col3)[0][0]
col2_var = np.var(col2)
col3_var = np.var(col3)
col2_std = np.std(col2)
col3_std = np.std(col3)
# 计算皮尔森相关系数
pearson_corr = np.corrcoef(col2, col3)[0, 1]
# 将结果写入文件
with open('D:\Exp1_Result_CSV.txt', 'w') as f:
f.write('第2列数据:\n')
f.write('平均值:%.2f\n' % col2_mean)
f.write('中位数:%.2f\n' % col2_median)
f.write('众数:%.2f\n' % col2_mode)
f.write('方差:%.2f\n' % col2_var)
f.write('标准差:%.2f\n\n' % col2_std)
f.write('第3列数据:\n')
f.write('平均值:%.2f\n' % col3_mean)
f.write('中位数:%.2f\n' % col3_median)
f.write('众数:%.2f\n' % col3_mode)
f.write('方差:%.2f\n' % col3_var)
f.write('标准差:%.2f\n\n' % col3_std)
f.write('皮尔森相关系数:%.2f\n' % pearson_corr)
```
其中,假设CSV文件的路径为data.csv,数据的列数大于等于3列。代码读取CSV文件,将第2列和第3列数据转换为numpy数组,然后计算平均值、中位数、众数、方差和标准差,并计算第2列数据和第3列数据的皮尔森相关系数。最后,将结果写入到本地的D:\Exp1_Result_CSV.txt文件中。
阅读全文