使用Pandas查找excel文件中两列的总和和最大值
在这些文章中,我们将讨论如何从excel中读取数据并进行一些数学运算,然后将其存储到DataFrame的一个新列中。假设我们的excel文件看起来像这样。
sample_data.xlsx
然后我们要计算两列的总和,找出最大值并存储到一个新的DataFrame列中。
步骤:
- 导入Pandas模块。
- 从Excel中读取数据。
- 创建一个新的列来存储Sum和maximum。
- 设置每一列的索引,用于访问该元素。
- 在一个新的列中存储两列之和。
- 并在一列中存储两列的最大数字。
- 显示DataFrame。
第1步:导入模块并从Excel中读取。
# import module
import pandas as pd
# read from excel
# and store in a DataFrame
df = pd.read_excel('excel_work/book_sample.xlsx')
df
输出 :
步骤2:创建一个新的列,用于存储总和和最大。
# creation new column
df['Total'] = None
df['Maximum'] = None
df
输出 :
第3步:设置一个索引,用于访问所需的列。
# 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步:选择每一行并添加一列,并找到最大的
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
输出 :