【问题标题】:Dataframe: if value in first column is in a list of strings, replace second column with value数据框:如果第一列中的值在字符串列表中,则将第二列替换为值
【发布时间】:2018-04-23 04:39:43
【问题描述】:

我正在尝试在 python 数据帧上实现以下逻辑。

如果 A 列中的字符串值在我预先指定的列表中,则将 B 列替换为 A 列中的值。否则,保持 B 列中的值不变。

我现在能得到的最接近的是一个不稳定的 np.where 语句,它不是我想要的并且出错了。请看下文。

非常感谢任何帮助

【问题讨论】:

  • 熊猫还是蟒蛇?也宁愿写出代码而不是截图。
  • 你是说 Pandas DataFrame?尝试使用pandas.DataFrame.isin 进行索引
  • 请将代码和数据添加为文本 (using code formatting),而不是图像。图片:A)不允许我们复制粘贴代码/错误/数据进行测试; B) 不允许根据代码/错误/数据内容进行搜索;和many more reasons。除了代码格式的文本之外,只有在图像添加了一些重要的东西,而不仅仅是文本代码/错误/数据传达的内容时,才应该使用图像。

标签: python list dataframe replace where


【解决方案1】:

有很多方法可以做到这一点。一种方法,可能是最简单的方法是

column_to_list = df['A'].tolist()
for index, value in enumerate(column_to_list):
    if value in Other_list:
        df.iloc['B'][index] = value        
    else:
        pass

如果这符合您的期望,请告诉我们,请不要发布代码照片

【讨论】:

  • 将 Other_list 替换为您预先指定的列表。
  • @PineNuts0 如果它解决了您的问题,请接受答案。如果它没有让我们知道,以便我们提供更好的答案
猜你喜欢
  • 2021-10-22
  • 2023-03-28
  • 1970-01-01
  • 2015-04-16
  • 2013-03-03
  • 1970-01-01
  • 2020-03-08
  • 1970-01-01
  • 2017-05-01
相关资源
最近更新 更多