龙空技术网

使用DataFrame计算两列的总和和最大值_[python]

生活plus 105

前言:

眼前各位老铁们对“python取大值”都比较关心,朋友们都想要了解一些“python取大值”的相关内容。那么小编在网上搜集了一些关于“python取大值””的相关知识,希望我们能喜欢,我们一起来学习一下吧!

【如果对您有用,请关注并转发,谢谢~~】

最近在处理气象类相关数据的空间计算,在做综合性计算的时候,DataFrame针对每列的统计求和、最大值等较为方便,对某行的两列或多列数据进行求和与最大值等的简便方法(方案二),方案一是使用传统循环方法计算。

采用以下测试数据,用前3列求红色区域两列数据。

方案一

使用传统每行的进行循环计算求和与最大值

import pandas as pd# 设置测试样例数据df = pd.DataFrame(   {      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 80, 110, 90],"prices": [120, 110, 100, 90, 150, 90] })# 创建求和与最大值列df['Total'] = Nonedf['Max'] = Nonedf# 给每列设置indexindex_selling=df.columns.get_loc('Units')index_cost=df.columns.get_loc('prices')index_total=df.columns.get_loc('Total')index_max=df.columns.get_loc('Max')# 循环每行进行求和for row in range(0, len(df)):    df.iat[row, index_total] = df.iat[row,index_selling] + df.iat[row, index_cost]    if df.iat[row, index_selling] > df.iat[row, index_cost]:        df.iat[row, index_max] = df.iat[row, index_selling]    else:        df.iat[row, index_max] = df.iat[row, index_cost]df

方案二

采用Dataframe的对2列或多列需要先转置再计算,然后进行求和与最大值。df.max()默认对每一列取最大值。

import pandas as pd# 设置测试样例数据df = pd.DataFrame(   {      "Car": ['BMW', 'Lexus', 'Audi', 'Tesla', 'Bentley', 'Jaguar'],"Units": [100, 150, 110, 80, 110, 90],"prices": [120, 110, 100, 90, 150, 90] })# 核心关键,计算多列数据求和与最大值df["Total"]=df.loc[:,["Units","prices"]].T.sum()df["Max"]=df.loc[:,["Units","prices"]].T.max()df

标签: #python取大值