如何根据列索引将字符串 True / False Pandas 列转换为 int?
How to convert string True / False Pandas columns to int based on column index?
我有一个非常大的数据框,其中只有前两列不是布尔值。但是,由于来源,所有内容都以字符串形式引入。 True/False 字段确实也包含实际的空白(不是 nan),并且拼写为 'True' 和 'False'
我正在尝试想出一种动态的方式来执行此操作,而无需输入或列出每一列。
ndf.iloc[:,2:].astype(bool)
这似乎至少 运行 并将其更改为 bool,但是当我添加 'inplace=True' 时,它对存储 属性 类型没有任何影响。我也试过下面的代码但没有成功。它 运行s 但实际上并没有做任何我能告诉的事情。
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool)
我需要能够将这个 table 最终作为 0 和 1 写回数据库。我不是最精通 bools 的人,我希望有一种我还不知道的简单的线性方法来做到这一点。
实际上
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool)
应该可以工作并将您的数据从 str/object
更改为 bool
。只是您使用 'True'
和 True
得到相同的打印结果。检查 ndf.dtypes
以查看该命令后的更改。
如果您想要 0
和 1
的布尔值,请尝试:
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool).astype(int)
我有一个非常大的数据框,其中只有前两列不是布尔值。但是,由于来源,所有内容都以字符串形式引入。 True/False 字段确实也包含实际的空白(不是 nan),并且拼写为 'True' 和 'False'
我正在尝试想出一种动态的方式来执行此操作,而无需输入或列出每一列。
ndf.iloc[:,2:].astype(bool)
这似乎至少 运行 并将其更改为 bool,但是当我添加 'inplace=True' 时,它对存储 属性 类型没有任何影响。我也试过下面的代码但没有成功。它 运行s 但实际上并没有做任何我能告诉的事情。
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool)
我需要能够将这个 table 最终作为 0 和 1 写回数据库。我不是最精通 bools 的人,我希望有一种我还不知道的简单的线性方法来做到这一点。
实际上
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool)
应该可以工作并将您的数据从 str/object
更改为 bool
。只是您使用 'True'
和 True
得到相同的打印结果。检查 ndf.dtypes
以查看该命令后的更改。
如果您想要 0
和 1
的布尔值,请尝试:
ndf.iloc[:,2:] = ndf.iloc[:,2:].astype(bool).astype(int)