📜  使用 Pandas 在 excel 文件中查找两列的总和和最大值

📅  最后修改于: 2022-05-13 01:55:35.642000             🧑  作者: Mango

使用 Pandas 在 excel 文件中查找两列的总和和最大值

在这些文章中,我们将讨论如何从 excel 中读取数据并执行一些数学运算并将其存储到 DataFrame 中的新列中。假设我们的 excel 文件看起来像这样。

样本数据.xlsx

然后我们必须计算两列之和并找出最大值并存储到一个新的 DataFrame 列中。

方法 :

  • 导入 Pandas 模块。
  • 从 Excel 中读取数据。
  • 创建一个用于存储 Sum 和最大值的新列。
  • 设置每列的索引以访问元素。
  • 将两列的总和存储在新列中。
  • 并将两列中的最大数量存储在一列中。
  • 显示数据框。

第一步:导入模块并从excel中读取。

Python3
# import module
import pandas as pd
 
# read from excel
# and store in a DataFrame
df = pd.read_excel('excel_work/book_sample.xlsx')
df


Python3
# creation new column
df['Total'] = None
df['Maximum'] = None
df


Python3
# Set index for each column
index_selling=df.columns.get_loc('Selling Price')
index_cost=df.columns.get_loc('Cost price')
index_total=df.columns.get_loc('Total')
index_max=df.columns.get_loc('Maximum')
 
print(index_selling,index_cost,index_total,index_max)


Python3
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


输出 :

第 2 步:创建一个新列用于存储总和和最大值

Python3

# creation new column
df['Total'] = None
df['Maximum'] = None
df

输出 :

第 3 步:设置用于访问所需列的索引。

Python3

# Set index for each column
index_selling=df.columns.get_loc('Selling Price')
index_cost=df.columns.get_loc('Cost price')
index_total=df.columns.get_loc('Total')
index_max=df.columns.get_loc('Maximum')
 
print(index_selling,index_cost,index_total,index_max)

输出 :

2 3 4 5

第 4 步:选择每一行并添加一列并找到最大值

Python3

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

输出 :