使用.map()修改多个Pandas列

马修·贾斯汀(Matthew Justin)

我正在尝试修改一些列,使所有的yes和no变为1和0:

df['Outbreak Associated', 'FSA'] = df['Outbreak Associated', 'FSA'].map({'yes': '1', 'no': '0'})

一次执行一次即可,但是两次或更多次却给我一个错误。我想我缺少一些简单的东西,但我想不出它是什么。

KeyError: ('Outbreak Associated', 'FSA')

有什么想法吗?

耶斯列尔

您可以使用replace,但如果没有匹配项获得原始值,则不能NaN这样map

cols = ['Outbreak Associated', 'FSA']
df[cols] = df[cols].replace({'yes': '1', 'no': '0'})

解决方案Series.map-您可以DataFrame.apply使用lambda函数来循环每一列

df[cols] = df[cols].apply(lambda x: x.map({'yes': '1', 'no': '0'}))

或使用DataFrame.stackSeries.unstack

df[cols] = df[cols].stack().map({'yes': '1', 'no': '0'}).unstack()

map分别用于每列;):

d = {'yes': '1', 'no': '0'}
df['Outbreak Associated'] = df['Outbreak Associated'].map(d)
df['FSA'] = df['FSA'].map(d)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Pandas 修改数据列值?

使用正则表达式修改pandas列

在Pandas的多个列中使用NaN值

使用多个列组重塑Pandas Dataframe

使用forEach修改map的值

如何修改代码以使用 Pandas 执行带有多个参数的 sql 存储过程

使用条件将列表的pandas列拆分为多个列。

使用map()从Scala数组中选择多个任意列

MySQL:使用多个表的内部联接修改查询,同时保留列顺序

使用来自另一列的数据修改 Pandas 列的子集

使用 Args 将函数应用于多个 Pandas 列

使用Pandas GroupBy从多个列中聚合唯一值

根据使用多个列的条件聚合Pandas DataFrame?

使用空格将 Pandas 列拆分为多个

如何使用Apply将Pandas DataFrame列拆分为多个?

如何使用多个条件规范化 Pandas 数据列?

使用awk修改多列

使用python pandas在数据框中使用多个字典重新映射多个列值

如何使用python将pandas数据框中的日期格式列修改为int

如何使用 Python 中的修改函数更改 Pandas Data Frame 中列的值?

如何使用 Javascript 正确修改多个元素?

使用输入值修改多个 a href 目标

使用Powershell修改多个html文件

使用多个 def 函数修改列表

如何使用 Protobuf 的反射来修改 Map

使用std :: map :: extract修改密钥

使用Spark Dataframe Scala将多个不同的列转换为Map列

使用基于for循环的pandas中的多个特定条件来计算多个列

如何使用groupby将多个函数应用于Pandas中的多个列?