1.Dataframe单列的数据变换
map()函数,apply()函数:
df[c[1]].map(lambda x : x+1)
df[c[1]].map(func)
df[c[1]].apply(func)
def cardnumToPlace(item):
result = re.match(r'^([0-9]{2})[0-9]+.*',item).group(1)
if(result):
return result
else:
return -1
df['provincecode'] = df['card_num'].map(cardnumToPlace)
province_code = {'11': '北京市','12' :'天津市','13': '河北省','14': '山西省',
'15':'内蒙古自治区','21': '辽宁省','22': '吉林省','23':'黑龙江省',
'31': '上海市','32': '江苏省','33': '浙江省','34': '安徽省',
'35': '福建省','36': '江西省','37': '山东省','41': '河南省',
'42': '湖北省','43' :'湖南省','44': '广东省','45': '广西壮族自治区',
'46': '海南省','50': '重庆市','51': '四川省','52': '贵州省','53': '云南省',
'54': '西藏自治区','61': '陕西省','62': '甘肃省','63': '青海省',
'64': '宁夏回族自治区','65': '新疆维吾尔自治区','71': '台湾省',
'81': '香港','82': '澳门'}
df['province'] =df['provincecode'].map(province_code)
2.Dataframe多列间的数据变换
apply()函数
df[ c[5] ] = df.apply(lambda x:x[ c[1] ]/x[ c[4] ],axis=1)
x带表当前行
3.分组运算,聚合函数
可以结合groupby与transform来方便地实现类似SQL中的聚合运算的操作