如何在数据框中创建新列

2024-05-13 08:09:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个名为“大陆”的新列,方法是将值分组到另一个名为“区域”的列中。我能做到的唯一代码是:

my_data.loc[(my_data ["Region"] == ("Australia and New Zealand")), "Continent"] = "Australia"

但当一个大陆有不止一个地区时,我遇到了麻烦。我已经这样做了:

my_data.loc[((my_data ["Region"] == ("Central and Eastern Europe")) & (my_data["Region"] == ("Western Europe"))), "Continent"] = "Europe"

my_data.loc[((my_data ["Region"] == ("Eastern Asia")) & (my_data["Region"] == ("Southeastern Asia"))), "Continent"] = "Asia" & (my_data["Region"] == ("Southern Asia "))), "Continent"] = "Asia"

它似乎无法识别代码,因为当我执行此操作时,它只在列中显示“NaN”,而不是大陆的名称

有人知道问题出在哪里吗


Tags: and方法代码区域newdatamyloc
1条回答
网友
1楼 · 发布于 2024-05-13 08:09:23

这是一个逻辑问题,永远不会发生一个条件AND另一个条件,因为测试一列

因此,按位OR需要|

my_data.loc[((my_data ["Region"] ==  ("Central and Eastern Europe")) | (my_data["Region"] == ("Western Europe"))), "Continent"] = "Europe"

^{}测试相同的工作方式是什么:

my_data.loc[my_data ["Region"].isin(["Central and Eastern Europe", "Western Europe"]), "Continent"] = "Europe"

相关问题 更多 >