首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为Pandas数据帧创建一个具有布尔值但具有非布尔索引的新系列

为Pandas数据帧创建一个具有布尔值但具有非布尔索引的新系列
EN

Stack Overflow用户
提问于 2022-11-01 03:18:27
回答 1查看 64关注 0票数 0

我一直试图使用DataFrame方法将一个新系列添加到我的.loc中,如下所示

代码语言:javascript
运行
复制
EM['Starting'] = EM.loc[(['Program_Start_Date']==Trimester_Start_Date)]

然而,我收到了下面的错误,并没有能够找到如何修复它。

代码语言:javascript
运行
复制
KeyError: 'False: boolean label can not be used without a boolean index'

数据看起来是这样的,我有三个月的日期,等于2022-05-30,所以我应该得到结果。

代码语言:javascript
运行
复制
    Program_Start_Date Course_Withdrawn_Date Program_Withdrawal_Date
0           2022-05-30                  None                    None   
1           2022-05-30                  None                    None   
2           2022-05-30                  None                    None   
3           2022-05-30                  None                    None   
4           2022-05-30                  None                    None   
..                 ...                   ...                     ...   
543         2021-02-01                  None                    None   
544         2021-02-01                  None                    None   
545         2019-05-27            2022-08-18                    None   
546         2019-05-27            2022-08-18                    None   
547         2019-05-27            2022-08-18                    None   

我以为我会得到一个简单的真实..。等

作为我的结果,并尝试了几种不同的方法,创建了一个系列,但到目前为止,没有一种方法起作用。

EN

回答 1

Stack Overflow用户

发布于 2022-11-01 04:18:53

因此,您尝试使用带有条件的.loc(),因此它将返回True或False。除非索引也是True/False,否则这对.loc()不起作用。

我认为您可能要做的是过滤dataframe,它看起来类似于:

代码语言:javascript
运行
复制
filter = [x==y for x,y in zip(EM.Program_Start_Date, EM.Trimester_Start_Date)]
EM_new = EM[filter]

"filter“变量是传递给EM的True/False列表,以选择哪些行使其进入EM_new。

希望这能帮上忙!如果是的话,请投票接受我的解决方案。=D

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74271184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档