7.数据规整
2018-09-02 本文已影响0人
soyouwantme
数据转换
批量的修改列名、替换值以及重命名索引。
利用函数或映射进行数据转换
applymap
是DataFrame的实例方法,而map
是Series的实例方法,它们接受自定义或者内置的函数(这些函数必须是传入一个值,它将返回一个值),也可以接收一个含有映射关系的字典型对象。
1.直接传入数据
df['loan_status'].map(str.title)
#将这一列的所有数据每个单词的首字母大写
2.传入一个包含映射关系的字典
mapper = {
'Fully Paid':0,
'Charged Off':1
}
df['indicator'] = df['loan_status'].map(mapper)
#
3.利用匿名函数lambda
df['loan_status'].map(lambda x:mapper[x.title()])
替换值
按照一定的映射关系进行替换:replace
1.单个值替换
df.replace('10+ years', 'high')
2.多个值替换,使用列表的方式
df.replace(['10+ years', '2 years', '1 year'], [10, 2, 1])
3.利用字典
mapper = {
'10+ years':10,
'2 years':2,
'1 year':1
}
df.replace(mapper)
重命名索引
可以通过map方法对行索引或者列名的Index对象进行修改(注意行索引和列名都是Index对象)。
df.columns
#索引列
df.columns = df.columns.map(str.upper)