Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 使用np.select和np.where替换基于条件的df中的值_Pandas_Replace_Np - Fatal编程技术网

Pandas 使用np.select和np.where替换基于条件的df中的值

Pandas 使用np.select和np.where替换基于条件的df中的值,pandas,replace,np,Pandas,Replace,Np,我有一个数据项列表,我想通过df的col循环,用单词“database”替换匹配数据项中任何项的所有实例。我试过使用np.select: discrete_distributed_bar["profile_standardized"] = np.select( [discrete_distributed_bar["profile_standardized"].isin(data_terms)], ["database"]

我有一个数据项列表,我想通过df的col循环,用单词“database”替换匹配数据项中任何项的所有实例。我试过使用np.select:

discrete_distributed_bar["profile_standardized"] = np.select(
    [discrete_distributed_bar["profile_standardized"].isin(data_terms)],
    ["database"],
    default=discrete_distributed_bar.profile_standardized,
)
对于np,其中:

for index, row in discrete_distributed_bar["profile_standardized"].items():
    np.where(
        discrete_distributed_bar["profile_standardized"].isin(data_terms),
        "database",
        row,
    )
但这种替代并没有真正发生。我错过了什么


谢谢你的帮助

这里似乎应该简化解决方案:

discrete_distributed_bar["profile_standardized"] = discrete_distributed_bar["profile_standardized"].replace(data_terms, 'database')
但我认为数据(例如空格)存在一些问题,请通过以下方式进行测试:

print (discrete_distributed_bar["profile_standardized"].isin(data_terms))
然后是可能的用途:

discrete_distributed_bar["profile_standardized"] = discrete_distributed_bar["profile_standardized"].str.strip().replace(data_terms, 'database')

你能提供一些数据样本吗?没有训练空格?如果测试
print(离散分布条[“profile\u standarized”].isin(数据项))
返回匹配的正确
True
?一定有其他原因,因为在多次尝试失败后,它突然起作用?非常感谢你的帮助@耶斯雷尔