我在python pandas DataFrame中有一个列,具有布尔True/False值,但对于进一步的计算,我需要1/0表示。有没有一种快速的熊猫/numpy方法来做到这一点?
当前回答
只需将你的数据帧乘以1 (int)
[1]: data = pd.DataFrame([[True, False, True], [False, False, True]])
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
其他回答
我必须将FAKE/REAL映射到0/1,但找不到正确的答案。
请在下面找到如何将列名'type'的值为FAKE/REAL映射为0/1(注意:类似的可以应用于任何列名和值)
df.loc[df['type'] == 'FAKE', 'type'] = 0
df.loc[df['type'] == 'REAL', 'type'] = 1
你可以为你的数据帧使用一个转换:
df = pd.DataFrame(my_data condition)
将True/False转换为1/0
df = df*1
这个问题特别提到了一个列,所以目前公认的答案是有效的。但是,它不能泛化到多个列。对于那些对通用解决方案感兴趣的人,请使用以下方法:
df.replace({False: 0, True: 1}, inplace=True)
这适用于包含许多不同类型列的DataFrame,而不管有多少是布尔类型。
只需将你的数据帧乘以1 (int)
[1]: data = pd.DataFrame([[True, False, True], [False, False, True]])
[2]: print data
0 1 2
0 True False True
1 False False True
[3]: print data*1
0 1 2
0 1 0 1
1 0 0 1
将布尔值的单列转换为整数1或0的列的简洁方法:
df["somecolumn"] = df["somecolumn"].astype(int)
推荐文章
- 如何为python模块的argparse部分编写测试?
- 在python中是否有用于均方根误差(RMSE)的库函数?
- 如何从matplotlib (pyplot。Figure vs matplotlib。figure) (frameon=False matplotlib中有问题)
- django test app error -在创建测试数据库时出现错误:创建数据库的权限被拒绝
- 识别使用pip安装的python包的依赖关系
- 从字符串变量导入模块
- 如何删除Python中的前导空白?
- python中的assertEquals和assertEqual
- 如何保持Python打印不添加换行符或空格?
- 为什么Python的无穷散列中有π的数字?
- Python 3.7数据类中的类继承
- 如何在PyTorch中初始化权重?
- 计数唯一的值在一列熊猫数据框架像在Qlik?
- 使用Pandas将列转换为行
- 从matplotlib中的颜色映射中获取单个颜色