我有一些文件,我在所有文件上运行循环并进行一些计算。我想获得一个新的df,其中包含行侧文件的名称以及每个文件在正确行中的计算值。
代码是:
results = []
file_name = '{}'
for file in folder:
df = pd.read_csv(file_name.format(file))
print("reading file ", file)
results.append(df['old_calc'])#this is the data i want to save to the new df and I need it .sum()
上面的代码没有像我们预期的那样工作:
old calc old calc old calc old calc old calc old calc old calc
4 0.0 0.0 0.0 0.0 0.0 0.0
5 0.0 0.0 0.0 59.0 0.0 0.0
6 0.0 0.0 58.4 0.0 0.0 0.0
7 0.0 0.0 8.4 -79.1 0.0 0.0
8 0.0 0.0 120.9 0.0 0.0 0.0
预期结果将是一个名为results的新df:
file1 0
file2 0
file3 187.7
file4 20.1
file5 0
感谢您的帮助
答案 0 :(得分:1)
这是一种可以提取所需数据的方法:
dfs = {file: pd.read_csv(file) for file in folder}
result_dict = {k: v['old_calc'].sum() for k, v in dfs.items()}
result_df = pd.DataFrame.from_dict(result_dict, orient='index')