python - 将包含字符串的 Pandas 系列转换为 boolean 值

标签 python pandas boolean type-conversion series

我有一个名为 df 的 DataFrame 为

  Order Number       Status
1         1668  Undelivered
2        19771  Undelivered
3    100032108  Undelivered
4         2229    Delivered
5        00056  Undelivered

我想将 Status 列转换为 boolean 值(状态为已交付时为 True,状态为未交付时为 False) 但如果状态既不是“未交付”也不是“已交付”,则应将其视为 NotANumber 或类似的东西。

我想使用字典

d = {
  'Delivered': True,
  'Undelivered': False
}

所以我可以轻松添加其他字符串,可以将其视为 TrueFalse

最佳答案

你可以只使用 map:

In [7]: df = pd.DataFrame({'Status':['Delivered', 'Delivered', 'Undelivered',
                                     'SomethingElse']})

In [8]: df
Out[8]:
          Status
0      Delivered
1      Delivered
2    Undelivered
3  SomethingElse

In [9]: d = {'Delivered': True, 'Undelivered': False}

In [10]: df['Status'].map(d)
Out[10]:
0     True
1     True
2    False
3      NaN
Name: Status, dtype: object

关于python - 将包含字符串的 Pandas 系列转换为 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17702272/

相关文章:

python - 按组计算每行之后的行数

swift - 在 viewDidLoad 中设置 bool NSUserdefault

javascript - 当我在 Javascript 中返回 true 时,它​​返回未定义

python - NumPy - 将数组 reshape 为一维

python - 为什么这个Python代码在我的类函数下不起作用?

python - 通过 SQLAlchemy 在 MySQL 数据库中写入 Pandas Dataframe

python - Pandas 对每个唯一服务器的结果进行计数

android - 从 SoapObject (kSOAP2) 获取 boolean 值

Python 没有从 subprocess.check_call 获取原始二进制文件

python - 简单查询: Why does it say this variable is undefined?