• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

将新值映射到DataFrame列

python 来源:Christopher Pfeifer 3次浏览

我有一个名为’quality’的数字值为1到9的pandas数据框,我想按如下方式转换这些值: 将5或更少的值转换为0,并且大于或等于6被转换为1。将新值映射到DataFrame列

这行代码的工作原理:5被映射为0,和6被映射到1。

酒[ ‘quality_target’] = wine.quality.map({5- :0,6:1})

但是,这行代码会引发错误。

酒[ ‘quality_target’] = wine.quality.map({< 6:0,> 5:1})

如何指定地图,映射(小于6:0,大于比5:1


===========解决方案如下:

在未来你可能想提供一些测试数据和你试过什么也格式化你的代码也不错我会尝试这样的:。

import pandas as pd 

# some fake data 
data = pd.DataFrame({ 
'col1':[1, 1, 2, 10, 5, 3, 6, 7] 
}) 

map_func = lambda x: 0 if x <= 5 else 1 
# apply it to the dataframe 
data.col1.apply(map_func) 
# this is not done in place so you can create a new column 
data['col1_transformed'] = data.col1.apply(map_func) 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)