python - 根据其他两个变量的值创建一个变量
问题描述
我在熊猫中有一个数据框,其中包含两个变量:DEC 和 TYPE
dec type
1 13
2 2
2 5
2 7
2 9
3 5
从这两个变量中,我想根据这两个变量的值创建其他二进制变量。
我一直无法找到代码来编写我想要的代码,但是在 python-English 中,它会是这样的:
df['new_variable'] = 1 if DEC == 1 & TYPE == 3 or 2 or 1
请让我知道我是否可以在我的问题中包含一些内容来澄清我在寻找什么。
从答案更新:
我遇到了一个问题,因为对于每个变量,我需要运行两行代码(如下),当我运行第二行时,它会超出第一行中的编码。我如何同时运行两条线(即第二条线不超过第一条线)?
harrington_citations['gov_winner'] = np.where((harrington_citations['dec'] == 1) & harrington_citations['type'].isin([1,2,3,4,22]) , 1, 0)
harrington_citations['gov_winner'] = np.where((harrington_citations['dec'] == 2) & harrington_citations['type'].isin([1,5,9,13,18]), 1, 0)
解决方案
看起来您需要.isin
第二个条件并返回 1/0:
df['new_variable'] = (df['dec'].eq(1) & df['type'].isin([3,2,1])).view('i1')
编辑每条评论,您应该使用条件创建 2 个条件|
:
c1 = (harrington_citations['dec'] == 1) & harrington_citations['type'].isin([1,2,3,4,22])
c2 = (harrington_citations['dec'] == 2) & harrington_citations['type'].isin([1,5,9,13,18])
harrington_citations['gov_winner'] = (c1|c2).view('i1')
推荐阅读
- .htaccess - apache2 config 将文件夹路径包含在 URL 中
- hibernate - 在 Wildfly 中使用 infinispan 作为 2LC 时缺少 MBean 类型:javax.cache:type=CacheStatistics
- c# - WCF 服务增加最大消息大小配额和配置
- java - Spring MVC 控制器方法签名中的域类型不起作用
- python - 我将如何从 html 超链接调用 azure web 应用程序?
- label - 在普罗米修斯中找到标签最多的时间序列
- java - MapStruct DTO 属性
- ubuntu - Problem adding extra loginctl seat for a Multiseat headless xserver-xorg-video-dummy driver on Ubuntu bionic 18.04?
- c# - 如何在 ASP.NET MVC 中登录成功时隐藏登录和注册事件?
- performance - javax.security.auth.login.LoginException:没有为 JMeter 配置 LoginModules