【问题标题】:How do I turn objects or values in pandas df into boolean?如何将 pandas df 中的对象或值转换为布尔值?
【发布时间】:2019-03-17 03:11:51
【问题描述】:

我想要做的是将列中的值更改为布尔值。

我在看什么:我有一个艺术家数据集,其中有一列名为“死亡年”。

在该列中,它有死亡年份或Nan,我将其更改为活着。我想在此列中将死亡年份变为 false 并将活着的值变为 True。此列的 dType 是 Object。

【问题讨论】:

标签: python pandas


【解决方案1】:

可重现的例子:

df = pd.DataFrame({'DeathYear':[2005,2003,np.nan,1993]})

    DeathYear
0   2005.0
1   2003.0
2   NaN
3   1993.0

你变成了什么

df['DeathYear'] = df['DeathYear'].fillna('Alive')

    DeathYear
0   2005
1   2003
2   Alive
3   1993

你可以使用

df['BoolDeathYear'] = df['DeathYear'] == 'Alive'

    DeathYear   BoolDeathYear
0   2005        False
1   2003        False
2   Alive       True
3   1993        False

请注意,如果您的最终目标是拥有 bool 列,则根本不必填充 NaN。

只能做

df['BoolDeathYear'] = df['DeathYear'].isnull()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多