我有几个具有相同列大小但行大小与df0:
不同的数据帧lang,h,H
ar,2,2
en,1,2
es,3,4
id,4,2
和df1:
lang,h,H
ar,2,2
en,2,2
es,2,3
这些数据帧是存储在目录中的.csv文件,它们的名称是df + i + '.csv'
,其中i在范围(10)中。我想阅读所有文件,然后对每列进行分析。到目前为止,我尝试了以下内容,逐一阅读:
df0 = pd.read_csv('df0.csv', index_col='lang')
df1 = pd.read_csv('df1.csv', index_col='lang')
然后结束并采取平均值:
df = pd.concat((df0, df1), axis=1).mean(axis=1)
返回:
ar 2.00
en 1.75
es 3.00
id 3.00
dtype: float64
如何读取循环中目录中存储的所有文件并获取数据框中所有列的平均值?在这种情况下,我想要一个包含h和H列及其平均值的数据框。
编辑: 这是预期的输出数据帧:
lang,mean_h,mean_H
ar,2,2
en,1.50,2
es,2.50,3.50
id,4,2
答案 0 :(得分:1)
使用glob模块
获取目录中的所有文件autarkie_eco = {4 => <val a>, 6 => <val b>, 8 => <val c>, etc - set this in your code however}
strombezugsvermeidung_kWh_a_eco = {}
eco_values = [4,6,8,10,12,14,16]
eco_values.each do |eco_value|
for i in 0..19
strombezugsvermeidung_kWh_a_eco[eco_value] ||= {}
strombezugsvermeidung_kWh_a_eco[eco_value][i] = autarkie_eco[eco_value]/100 * jahrstromverbrauch
end
end
遍历每个文件并添加到元组dfs
strombezugsvermeidung[:kWh][:a][:eco][8][3] => val
最后连接它们并计算平均值
import glob
myFiles = glob.glob('C://my_folder//*.csv')