当前位置: 首页 > 面试题库 >

Python Pandas-如果项目在列表中,则为新列的值

杜俊晤
2023-03-14
问题内容

我想在pandas数据框中创建一个新列。第一列包含国家名称。该列表包含我感兴趣的国家(例如欧盟)。新列应指出数据框中的国家/地区是否在列表中。

下面是该代码的简化版本:

import pandas as pd
import numpy as np

EU = ["Austria","Belgium","Germany"]

df1 = pd.DataFrame(data={"Country":["USA","Germany","Russia","Poland"], "Capital":["Washington","Berlin","Moscow","Warsaw"]})

df1["EU"] = np.where(df1["Country"] in EU, "EU", "Other")

我得到的错误是:ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()

我不知道问题是什么以及如何解决。我想念什么?我在Windows上使用Anaconda。

谢谢


问题答案:

使用isin的检查成员:

df1["EU"] = np.where(df1["Country"].isin(EU), "EU", "Other")
print (df1)
      Capital  Country     EU
0  Washington      USA  Other
1      Berlin  Germany     EU
2      Moscow   Russia  Other
3      Warsaw   Poland     EU


 类似资料:
  • 问题内容: 我正在从表单文本字段,并从复选框中的字段 我将它们像这样组合: (此函数在列表中的字符串内去除空格。) 但在这种情况下是空的(没有新的标签进入),但也有一些,包含一个空字符串。 例如,来自: 我如何摆脱空字符串? 如果列表中有一个空字符串: 但是,如果没有空字符串: 但这给出了: 为什么会发生这种情况,我该如何解决? 问题答案: 1)几乎是英式风格: 使用操作员测试是否存在,然后应用该

  • 到目前为止,我得到了indexOutOfBoundsException错误

  • 我想创建一个名为Playercategory的新专栏, 如果玩家的国籍为“美国”或除欧洲国家外的任何其他国家的美国,则Playercategory==“美国” 如果玩家的国籍是欧洲国家或与任何其他国家的欧洲国家,则Playerclass=="欧洲"(例如:"意大利"、"意大利/美国"、"德国/美国"、"立陶宛/澳大利亚"、"比利时") 对于所有其他玩家,则Playercategory==“非” 预

  • 本文向大家介绍sharepoint项目。更新列表项,包括了sharepoint项目。更新列表项的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我有一个清单清单: 搜索列表并返回其中一项的位置的最干净方法是什么? 我已经看过该方法,但是似乎并没有在列表中解压缩列表。 给出:,不是我所期望的… 问题答案: 我会做这样的事情: 这将返回一个元组列表,其中第一个索引是第一个列表中的位置,第二个索引是第二个列表中的位置(注意:您要查找的颜色,即)。 对于问题中的示例,返回值为: 如果您只需要懒惰地找到找到颜色的第一个位置,则可以使用以

  • 我有一个豆子类似于: 我正在尝试反序列化类似于以下内容的JSON: 我无法反序列化该对象,因为每个图像对象都包装在节点对象中,并集中在边对象中。 编辑:为了清楚起见,我不想通过使用bean来完成这一点,这个示例是一个简化,JSON有效负载中的所有数组项都包装在这个和表示中。

  • 我试图从列表中删除一个项目,如果它在中位数的四分位数范围之外。

  • 我有一个Python pandas DataFrame: 我想把一些股票的所有行放在一起,比如。这意味着我想要这样的语法: 既然熊猫不接受上述命令,如何达到目标?