实现功能
在Pandas中,replace
方法默认是基于精确匹配进行替换,而不是基于条件匹配。要实现基于条件的替换,可以使用numpy.where
函数。将DataFrame中某一列的指定的两个值分别替换为0和1,其他值替换为2
实现代码
import pandas as pd
import numpy as np
# 创建一个示例DataFrame
data = {'A': ['apple', 'banana', 'apple', 'orange', 'grape']}
df = pd.DataFrame(data)
# 打印替换前的DataFrame
print("替换前的DataFrame:")
print(df)
# 指定要替换为0的字符串
string_0 = 'apple'
# 指定要替换为1的字符串
string_1 = 'banana'
# 使用numpy.where函数进行条件替换
df['A'] = np.where(df['A'] == string_0, 0, np.where(df['A'] == string_1, 1, 2))
# 打印替换后的DataFrame
print("替换后的DataFrame:")
print(df)
实现效果
本人读研期间发表5篇SCI数据挖掘相关论文,现在某研究院从事数据挖掘相关科研工作,对数据挖掘有一定认知和理解,会结合自身科研实践经历不定期分享关于python、机器学习、深度学习基础知识与案例。
致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。
1、邀请三个朋友关注V订阅号:数据杂坛,即可在后台联系我获取相关数据集和源码,送有关数据分析、数据挖掘、机器学习、深度学习相关的电子书籍。