如何用Python将DataFrame中指定列特定值替换为另一列对应值
解决DataFrame中替换Buy_Entry列值的问题
没问题,这事儿用pandas的loc方法就能轻松实现,我给你具体的步骤和代码:
核心代码实现
假设你的DataFrame名称为df,可以按以下步骤操作:
替换"Buy Entry"为对应Open列的值
用loc精准定位Buy_Entry列中值为"Buy Entry"的行,然后将这些行的Buy_Entry值替换为同一行的Open列数值:df.loc[df['Buy_Entry'] == 'Buy Entry', 'Buy_Entry'] = df.loc[df['Buy_Entry'] == 'Buy Entry', 'Open'](可选)统一列数据类型
因为替换后Buy_Entry列可能同时存在数值和字符串(如果之前你把np.nan换成了0的话),建议将整个列转换为数值类型,避免后续计算出问题:df['Buy_Entry'] = df['Buy_Entry'].astype(float)
效果示例
拿你提供的样例数据来看:
原数据行:
2020-09-15 17.200001 Buy Entry np.nan
2020-09-16 16.100000 Buy Entry np.nan
替换并转换类型后会变成:
2020-09-15 17.200001 17.200001 0
2020-09-16 16.100000 16.100000 0
内容的提问来源于stack exchange,提问作者Fernando_G
相关产品推荐
相关产品推荐

