📅  最后修改于: 2023-12-03 15:33:24.197000             🧑  作者: Mango
当需要对Pandas数据中的某一列或多列进行修改、转换或填充操作时,可以使用map和lambda函数。
map
函数是Pandas里DataFrame和Series对象中的一种数据转换函数,它可以接受一个函数或字典、Series类型的映射来将数据进行转换。
下面是一个使用map函数的例子:
import pandas as pd
data = {'sex': ['F', 'M', 'F', 'F', 'M']}
df = pd.DataFrame(data)
map_dict = {'F': 0, 'M':1}
df['sex_num'] = df['sex'].map(map_dict)
print(df)
运行以上代码会输出以下结果:
| sex | sex_num | | --- | ------- | | F | 0 | | M | 1 | | F | 0 | | F | 0 | | M | 1 |
以上例子将性别列中的“F”转换成0,“M”转换成1,并加入一列“sex_num”。
lambda
是Python中的一种匿名函数,即没有名字的函数。使用lambda可以省去定义函数的过程。
下面是一个使用lambda的例子:
import pandas as pd
data = {'age': [20, 30, 25, 19, 34]}
df = pd.DataFrame(data)
df['age_10'] = df['age'].map(lambda x: x + 10)
print(df)
运行以上代码会输出以下结果:
| age | age_10 | | --- | ------ | | 20 | 30 | | 30 | 40 | | 25 | 35 | | 19 | 29 | | 34 | 44 |
以上例子在年龄列中每个数值上加10,并加入一列“age_10”。
map和lambda函数可以方便地对Pandas数据进行修改、转换或填充操作,在处理数据的过程中非常实用。