pandas数据列的添加方法

df.apply方法:

import pandas as pd
path = 'score.xlsx'
df = pd.read_excel(path)
df['理综'] = df['物理']+df['化学']+df['生物']
df.head()
def lizong(x):
    if x['理综'] > 200:
        return '理科好'
    elif x['理综'] >100:
        return '理科及格'
    else:
        return '理科差'
df['理科情况'] = df.apply(lizong,axis=1) #axis=1表示参数传递按列索引
df['数学'].value_counts()
df.to_excel("3.xlsx")

 df.assign方法:

df.assign(
    英语原始分 = lambda x:x['英语']/1.25
)       #注意这里 英语原始分 没有用引号,也就是不用用作字符串

 

 

先创建空列,然后按照条件添加:

df['文综'] = ''
df.loc[df['政治']+df['历史']+df['地理']>=200,'文综'] ='文科优秀'
df.loc[(df['政治']+df['历史']+df['地理']>100)&(df['政治']+df['历史']+df['地理']<200),'文综'] ='文科及格'
df.loc[df['政治']+df['历史']+df['地理']<=100,'文综'] ='文科差'

与apply雷同

posted @ 2022-12-24 03:40  scholar-for-ever  阅读(273)  评论(0编辑  收藏  举报