import pandas as pd
import numpy
import math
variable conversion
calculate new variable
new variable is constant
‘’’ df[‘var_name’] = name’’’
df1 = pd.read_csv('123.csv',encoding='utf-8')
df1.new_var = 1 # do nothing .only use to var that already exist
df1['cons'] = 1 # right
print(df1.head(10))
operation of vars
‘’’
df[var_name] = df[‘old_var’] * 100
df[var_name] = df.old_var * 100
‘’’
df1['新名次'] = df1['名次'] * 10
print(df1.head(10))
df1['方根'] = round(numpy.sqrt(df1['新名次']),2)
print(df1.head(10))
#下面错误用法
df1['方根2'] =pd.Series(math.sqrt(i) for i in df1['新名次'])#为什么不行?
batch operation
‘’’
df.apply(
func:function or lambda for row or columns
axis = 0 :row or columns ;1 for row
)
df[‘new_name’] = df.oldvar.apply(func)
‘’’
df1['方根2'] = df1['新名次'].apply(math.sqrt)
df1['名次3'] = df1['新名次']