Pandas中利用函数或者映射进行数据转换---你想要的都在这~

Pandas中利用函数或者映射进行数据转换

  • 我们先创建一个dataframe
data = pd.DataFrame({'food': ['Apple', 'banana', 'orange','apple','Mango', 'tomato'],
                    'price': [4, 3, 3.5, 6, 12,3]})
data


	food	price
0	Apple	4.0
1	banana	3.0
2	orange	3.5
3	apple	6.0
4	Mango	12.0
5	tomato	3.0

接下来我们想将水果归为一类,蔬菜归为一类,观察数据发现,里面不仅有大写还有小写,所以我们先处理这一个情况。

# 值小写 
# 利用str中的lower()函数
low = data['food'].str.lower()
low

0     apple
1    banana
2    orange
3     apple
4     mango
5    tomato
Name: food, dtype: object

接下来,我们利用字典创建一个分类。

m= {'apple':'fruit',
       'banana':'fruit',
       'orange':'fruit',
       'mango':'fruit',
       'tomato':'vagetable'}
# 增加一个列 然后利用map函数将数据与我们的字典对应 
# 先找如果是apple 就归为fruit 其他同理
data['class'] = low.map(meat)
data

	food	price	class
0	Apple	4.0		fruit
1	banana	3.0		fruit
2	orange	3.5		fruit
3	apple	6.0		fruit
4	Mango	12.0	fruit
5	tomato	3.0	vagetable

# 或者利用函数
# 同样是现在字典中找键然后找到了就归为一类
data['class1'] = data['food'].map(lambda x:m[x.lower()])
data

	food	price	class	class1
0	Apple	4.0	fruit	fruit
1	banana	3.0	fruit	fruit
2	orange	3.5	fruit	fruit
3	apple	6.0	fruit	fruit
4	Mango	12.0	fruit	fruit
5	tomato	3.0	vagetable	vagetable

总结:我们可以用map对数据进行映射然后进行相应的数据转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值