Python,根据许多具有相应值的csv文件计算平均值/均值

扎尼斯·阿里

我有csv文件(比方说= 30),我想使用相应的值计算所有30个csv的平均值,然后制作一个新的output.csv文件。

CSV文件示例:(我有13个列和16行)

| Dataset | VALUE1 | VALUE2 |
|:---- |:------:| -----:|
| Name1  | 2.4    | 4.2 |
| Name2  | 3.5    | 9.3 |
| Name3  | 4.6    | 11.5 |

现在我有30个这样的csv文件,其中第一行是标题,而第一列也包含字符串名称。

我想做的是取30个csv文件的所有30个csv文件(例如,添加value1,name1)的平均值,并在输出文件中取这30个值的平均值,这应该针对每个位置(除了确保第一行和第一列),因为它们包含字符串值。

我都尝试过熊猫和麻木,但到目前为止还没有运气。

我的代码:

import pandas as pd
from pathlib2 import Path
import numpy as np

root = '../Dataset'
#print(tool_files_path)

file_names_list = []
ls=[]
entries = Path(root)
for entry in entries.iterdir():
    if entry.is_dir():
        for file in entry.iterdir():
            if file.is_file():
                if  file.name == 'summary_x.csv':
                    file_names_list.append(file)
                    #print(file)
                    #file = pd.read_csv(file)
                    #print file
                    #all_files_default = pd.concat(file))

print file_names_list
df_final = pd.DataFrame()
range = [i for i in range(1,13)]
for file_name in file_names_list:
    df = pd.read_csv(file_name, skiprows=0, usecols=range)
    print df
    df_final = df_final.add(df.reset_index(), fill_value=0)

#print df_final
#print os.getcwd()
df_final.to_csv('output.csv')

编辑:使用更新的代码,有数据帧添加,但列的索引不是原始文件中那样,并且有空单元格,我想是因为0.0添加了很多次

用户名

您可以使用DataFrame.add如图所示添加DataFrames的价值在这里,然后通过你的结果数据框中添加使用DataFrames数量devied每个值DataFrame.applymap如图所示这里

当您分解问题时,找到答案并不难:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章