我有一个独特的问题,我有一个充满数据的文件。如果行具有相同的ID,则使用Pandas将这些数据相加。每行中的数据不同,但行中的大多数字符串是静态的,文件中的整数使用Pandas相加:
aframe.columns = ['ID','blah2', 'blah3', 'integer1'.......]
aframe['integer1'] = aframe['integer1'].convert_objects(convert_numeric='force')
aframe['integer2'] = aframe['integer2'].convert_objects(convert_numeric='force')
aframe['integer3'] = aframe['integer3'].convert_objects(convert_numeric='force')
aframe['integer4'] = aframe['integer4'].convert_objects(convert_numeric='force')
aframe = aframe.groupby(['ID', 'blah1', 'blah2',......])
aframe.to_csv(outputFile)
但是,我最近了解到,当一个值加在一起时,必须将其设置为最新的值,换句话说,就是共享同一ID的最后一行的值。有没有一种方法可以在不执行文件解析杂技的情况下实现这一点?你知道吗
更新: 因此,作为表格的一个例子,它的'格式为:
ID Blah2 Blah3 Integer1 ....
A On Name 34
B Off Name2 76
A Off Name 34
B On Name2 23
我希望它像这样求和,Blah2的最后一个值是求和行中该单元格的值:
ID Blah2 Blah3 Integer1 ....
A Off Name 68
B On Name2 99
对于每列指定的函数,可以使用
groupby('ID')
后跟aggregate
:相关问题 更多 >
编程相关推荐