文章要点
🍺前言
🍀(一)在pandas中对excel进行函数填充
🍒1.在excel中进行函数填充
🍒2.在pandas中实现函数填充
🔥2.1 列于列进行计算
import pandas as pd
book = pd.read_excel('./Book.xlsx')
df = pd.DataFrame(book)
# 1.列与列进行计算
now_price = df['原价'] * df['折扣']
df['现价']=now_price
print(df)
结果:
🔥2.2 单元格与单元格进行计算
# 2.单元格和单元格进行计算
# # 对索引进行遍历
for i in df.index:
df['现价'].at[i] = df['原价'].at[i] * df['折扣'].at[i]
结果与上述相同。
🔥2.3 部分数据计算
# 3.对部分单元格进行遍历
for i in range(5,11):
df['现价'].at[i] = df['原价'].at[i] * df['折扣'].at[i]
结果:
🔥2.4 列增值
🌟2.4.1 pandas中的apply函数
4.列增值
def add(x):
return x+5
df['原价'] = df['原价'].apply(add)
df['原价'] = df['原价'].apply(lambda x:x+5)
以上两种方法都可以的到同样的结果:
🍀(二)排序以及多重排序
🍒1.在excel表格中进行操作
结果:
🍒2.在pandas中实现排序操作
import pandas as pd
list = pd.read_excel('./count.xlsx')
df = pd.DataFrame(list)
df.sort_values(by=['Worthy','Price'],inplace=True,ascending=[True,False])
print(df)
结果:
这样我们就实现了以上结果。
🍀(三)数据筛选
🍒1.在excel中进行数据筛选
🍒2.在pandas中实现数据筛选
import pandas as pd
def age_25(a):
return a<25
def score_85(b):
return b>=85 and b <=100
student = pd.read_excel('./Students.xlsx',index_col='ID')
df = pd.DataFrame(student)
fin = df.loc[df['Age'].apply(age_25)].loc[df['Score'].apply(score_85)]
print(fin)
fin = df.loc[df['Age'].apply(lambda x:x<25)].loc[df['Score'].apply(lambda y:y>=85 and y<=100)]
两种方法结果相同: