【发布时间】:2017-01-26 22:05:20
【问题描述】:
我有 3 个名为 file1、file2、file3 的 csv 文件。 每个 CSV 填充 3 列和 5653 行:
1 0 -95
2 0 -94
3 0 -93
...
51 0 -93
0 1 -92
1 1 -91
2 1 -90
..
第一列是 X 变量,第二列是 y 变量,第三列是测量值,我想从中取平均值。
我想做的是:
- 读取文件 1 的第一行
- 读取文件 2 的第一行
- 读取文件 3 的第一行,然后计算测量值的平均值。
例如:
file1 row1 -98
file2 row1 -97
file3 row1 -95
mean 96,666666667
我想将这个意思写入一个新的 csv 文件,格式如下
1,0,mean_of_row1 (which would be 96,666666667)
2,0,mean_of_row2
3,0,mean_of_row3
4,0,mean_of_row4
目前我能够计算每个文件的测量列的平均值并将其作为一行存储在结果文件中
import pandas as pd
import numpy as np
csv_file_list = ["file1.csv", "file2.csv", "file3.csv"]
result_csv = "result.csv"
with open(result_csv, 'wb') as rf:
for idx, csv_file in enumerate(csv_file_list):
csv_data = pd.read_csv(csv_file).values
mean_measured = np.mean(csv_data[:, 2])
rf.write(','.join([str(0), str(idx), str(mean_measured)+"\n"]))
但是如何才能实现我的意图呢? 到目前为止感谢
【问题讨论】: