定义新列需要用到columns.tolist()函数,具体代码如下:
col_name=df.columns.tolist()
col_name.insert(新列位置, '新列名称')
wb=df.reindex(columns=col_name)
然后后面再接一行代码用来定义新列的计算规则。
如例题。
import pandas as pd
wb=pd.read_excel('C:/Users/xinxing/Desktop/wage.xls',usecols=
['EmpID','JobCode','Salary']) ##usecols函数是用来选择列
wb1=wb[wb['Salary']<32000] ##选择工资列小于32000的数据
wb2=wb1.sort_values('JobCode') ##按照JobCode列数据进行升序排列
col_name=wb2.columns.tolist() ##从这一步开始定义新列
col_name.insert(3, 'bonus') ##新列放在第四列,因为代码是从0开始计数,所以括号里写的3。
df=wb2.reindex(columns=col_name)
df['bonus'] = df['Salary'] *0.06 ##新列bonus是由Salary列的0.06倍得来的
print(df)