Pandas数据框-计算符合条件的行总和,并将其与列表元素进行比较

深海

我有这个数据示例:

           0         1         2         3        
2  Text1   1         1         5         5,00       
3  Text2   8         4         0         0,00     
4  Text3   1         3         0         2,00     
5  SUM     6         0         0         7,00       
6  Text1   1         1         0         10        
7  Text2   8         4         0         0,00     
8  Text3   1         3         0         0,00
8  Text4   1         3         0         2,02       
9  SUM     6         0         0         20

我想计算最后一列的各行的总和,直到出现单词“ SUM” df[0],然后将此总和的结果分配给列表。例如:

第一总和应该是这样的:Text1 row + Text2 + Text3= 5,00 + 0,00 + 2,00-的总和df[:, -1]的前面的行中df[0]=='SUM'

,然后将列表的第一个元素是['7,00']
则行中的单词之前的最后一列的总和SUMdf[0]Text1+Text2+Text3+Text3= 10+0+0+2,02
,然后将列表的第二元件是['12,02'],整个列表现在看起来像这样:['7,00'],['12,02']['7,00','12,02']

最后,我想将整个列表与df.loc[(df[0] == 'SUM')]
df条件下的总数进行这样的计数吗?
给我一些提示或说明,我该怎么做以及是否可行。

耶斯列尔

采用:

#convert last column to numbers
df.iloc[:, -1] = df.iloc[:, -1].str.replace(',','.').astype(float)

#create groups with last value SUM
df.insert(0, 'g', df[0].eq('SUM').iloc[::-1].cumsum().iloc[::-1])

#sum values per groups with omit last value (SUM)
df.insert(0, 'new', df.iloc[:, -1].groupby(df['g']).transform(lambda x: x[:-1].sum()))
print (df)
     new  g      0  1  2  3      4
2   7.00  2  Text1  1  1  5   5.00
3   7.00  2  Text2  8  4  0   0.00
4   7.00  2  Text3  1  3  0   2.00
5   7.00  2    SUM  6  0  0   7.00
6  12.02  1  Text1  1  1  0  10.00
7  12.02  1  Text2  8  4  0   0.00
8  12.02  1  Text3  1  3  0   0.00
8  12.02  1  Text4  1  3  0   2.02
9  12.02  1    SUM  6  0  0  20.00

#compare values 
df1 = df[df['new'].eq(df.iloc[:, -1]) & df[0].eq('SUM')]
print (df1)
   new  g    0  1  2  3    4
5  7.0  2  SUM  6  0  0  7.0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:Pandas数据框总和

来自分类Dev

计算Pandas数据框中符合特定条件的行数

来自分类Dev

从列表列表中提取元素,并将其分配为pandas数据框列中的值

来自分类Dev

PANDAS:根据单独数据框中的布尔值对pandas数据框元素进行计算

来自分类Dev

使用pandas数据框进行多维计算

来自分类Dev

如何提取熊猫系列元素并将其与数据框列中的行进行比较

来自分类Dev

检查Python列表元素是否在Pandas数据框行中

来自分类Dev

在Python Pandas数据框中计算MRR

来自分类Dev

计算 Pandas 数据框中的出现次数

来自分类Dev

在 Pandas 数据框中逐行计算 CAGR?

来自分类Dev

Pandas 数据框 numpy 其中多个条件

来自分类Dev

获取pandas数据框组满足条件

来自分类Dev

根据字典元素创建Pandas数据框

来自分类Dev

根据字典元素创建Pandas数据框

来自分类Dev

使用Pandas数据框进行线性回归

来自分类Dev

将pandas数据框转换为列表

来自分类Dev

Python Pandas追加数据框列表

来自分类Dev

凌乱的列表中的Pandas数据框

来自分类Dev

在 Pandas 数据框中绘制列表

来自分类Dev

Pandas 从字典列表中创建数据框

来自分类Dev

遍历行并扩展pandas数据框

来自分类Dev

Python Pandas:数据框读取行(readlines)

来自分类Dev

重复行的Pandas Groupby数据框

来自分类Dev

枚举pandas数据框中的行

来自分类Dev

从Pandas数据框中的行填充字典

来自分类Dev

Python Pandas-合并数据框行

来自分类Dev

如何从csv文件优雅地创建pyspark数据框并将其转换为Pandas数据框?

来自分类Dev

对非常大的Pandas数据框进行汇总和统计

来自分类Dev

Pandas数据框:列值为列表的列值总和

Related 相关文章

热门标签

归档