Python 函数随笔 map()函数,lambda自定义函数

map函数格式为:map(function, iterable, ...)

function:函数,含有两参数

iterable:一个或多个序列

function函数可以自己创建,之前使用的是将csv文件内的内容替换,例如将‘是’替换成‘yes’,将一些中文替换成数字表示等。

iterable:一般是list,可以多个一起按照function函数进行映射。

ps:注意一些python版本问题的小改变:python2返回的是列表,python3返回的是迭代器。

代码如下:

import pandas as pd
path = r'C:\Users\dhw\Desktop\work\term paper\Home work_10\TREE.csv'

#将数据中的中文含义用数据表示

def change_the_data(path):
    df = pd.read_csv(path)
    label_list = df['类别'] #存入类别标签
    label_list = map(lambda x:[x,'yes'][x=='是'],label_list)
    label_list = map(lambda x:[x,'no'][x=='否'],label_list)
    print(list(label_list))
    
change_the_data(path) 

 csv文件类别标签打印出来为:

0 否
1 否
2 是
3 是
4 否
5 否
6 否
7 是
8 是
9 是
10 是
11 是
12 是
13 是
14 否

经过两次map转换后为:['no', 'no', 'yes', 'yes', 'no', 'no', 'no', 'yes', 'yes', 'yes', 'yes', 'yes', 'yes', 'yes', 'no']

匿名函数:lambda 格式为:lambda [arg1 [,arg2,.....argn]]:expression

冒号左边→想要传递的参数
冒号右边→想要得到的数(可能带表达式)
 
 
 

 

转载于:https://www.cnblogs.com/manner/p/9580052.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值