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雷同