使用熊猫对来自多个csv文件的数据求和

朱利安

我有-许多-csv文件,其具有以下模式的相同列数(不同行数):

文件1:

A1,B1,C1
A2,B2,C2
A3,B3,C3
A4,B4,C4

档案2:

*A1*,*B1*,*C1*
*A2*,*B2*,*C2*
*A3*,*B3*,*C3*

文件 ...

输出:

A1+*A1*+...,B1+*B1*+...,C1+*C1*+...
A2+*A2*+...,B2+*B2*+...,C2+*C2*+...
A3+*A3*+...,B3+*B3*+...,C3+*C3*+...
A4+...     ,B4+...     ,C4+...

例如:

文件1:

1,0,0
1,0,1
1,0,0
0,1,0

文件2:

1,1,0
1,1,1
0,1,0

输出:

2,1,0
2,1,2
1,1,0
0,1,0

我正在尝试使用python.pandas并正在考虑使用类似的方法来创建读取变量:

dic={}
for i in range(14253,14352):
        try:
                dic['df_{0}'.format(i)]=pandas.read_csv('output_'+str(i)+'.csv')
        except:
                pass

然后对各列求和:

for residue in residues:
       for number in range(14254,14255):
               df=dic['df_14253'][residue]
               df+=dic['df_'+str(number)][residue]

残渣是一列字符串,它们是列名。

我有一个问题,我的文件具有不同的行数,并且只累加到df1的最后一行。如何将它们添加到最长文件的最后一行-这样就不会丢失数据?我认为熊猫的groupby.sum可能是一个选择,但我不知道如何使用它。

要添加一个示例-现在我得到了:

文件1:

1,0,0
1,0,1
1,0,0
0,1,0

文件2:

1,1,0
1,1,1
0,1,0

文件3:

1,0,0
0,0,1
1,0,0
1,0,0
1,0,0
1,0,1

文件 ...:

输出:

3,1,0
2,1,3
2,1,0
1,1,0
1,0,0
1,0,1
BM

您可以在pandas(3D对象,数据帧集合)中使用Panel

dfs={ i : pd.DataFrame.from_csv('file'+str(i)+'.csv',sep=',',\
header=None,index_col=None) for i in range(n)} # n files.
panel=pd.Panel(dfs)
dfs_sum=panel.sum(axis=0)

dfs是数据帧的字典。Panel用Nan会自动完成缺少值的操作,并计算总金额。例如 :

n [500]: panel[1]
Out[500]: 
     0   1   2
0    1   0   0
1    1   0   1
2    1   0   0
3    0   1   0
4  NaN NaN NaN
5  NaN NaN NaN
6  NaN NaN NaN
7  NaN NaN NaN
8  NaN NaN NaN
9  NaN NaN NaN
10 NaN NaN NaN
11 NaN NaN NaN

In [501]: panel[2]
Out[501]: 
     0   1   2
0    1   0   0
1    1   0   1
2    1   0   0
3    0   1   0
4    1   0   0
5    1   0   1
6    1   0   0
7    0   1   0
8  NaN NaN NaN
9  NaN NaN NaN
10 NaN NaN NaN
11 NaN NaN NaN

In [502]: panel[3]
Out[502]: 
    0  1  2
0   1  0  0
1   1  0  1
2   1  0  0
3   0  1  0
4   1  0  0
5   1  0  1
6   1  0  0
7   0  1  0
8   1  0  0
9   1  0  1
10  1  0  0
11  0  1  0

In [503]: panel.sum(0)
Out[503]: 
    0  1  2
0   3  0  0
1   3  0  3
2   3  0  0
3   0  3  0
4   2  0  0
5   2  0  2
6   2  0  0
7   0  2  0
8   1  0  0
9   1  0  1
10  1  0  0
11  0  1  0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Dictionary metod集成来自多个csv文件的数据

来自分类Dev

来自多个表的求和?

来自分类Dev

SQL 聚合来自多个表的数据并对指定的列求和

来自分类Dev

Javascript表使用来自多个txt文件的数据并显示在html文件上

来自分类Dev

如何在Python中使用xarray联接来自多个netCDF文件的数据?

来自分类Dev

使用XSL合并后如何处理来自多个XML文件的所有数据

来自分类Dev

堆叠来自多个数据文件的行

来自分类Dev

堆叠来自多个数据文件的行

来自分类Dev

来自多个文件的 Gnuplot shell 脚本 ROS 数据

来自分类Dev

如何使用重复键合并来自多个词典的数据?

来自分类Dev

使用来自多个indexeddb对象库的数据

来自分类常见问题

使用mocha.js加入来自多个文件的测试

来自分类Dev

使用rsync同步来自多个目录的txt文件

来自分类Dev

如何使用jq合并来自多个文件的JSON记录

来自分类Dev

如何在Python中合并来自多个文件夹的多个CSV文件?

来自分类Dev

大熊猫:连接来自多个数据框,数组的信息

来自分类Dev

每个元素的MongoDB对来自多个文档的数组求和

来自分类Dev

同步处理来自多个线程的数据

来自分类Dev

来自多个ajax请求的数组数据

来自分类Dev

来自多个ajax请求的数组数据

来自分类Dev

来自多个表的SQL数据

来自分类Dev

汇总来自多个记录的数据

来自分类Dev

计算来自多个表的数据

来自分类Dev

合并来自多个来源的元数据

来自分类Dev

解析来自多个Json对象的数据

来自分类Dev

来自多个表的PHP SELECT数据

来自分类Dev

显示来自多个Items Rails的数据?

来自分类Dev

来自多个细胞的近似实验数据

来自分类Dev

Excel - 合并来自多个表的数据

Related 相关文章

热门标签

归档