如何将pandas df中的对象或值转换为布尔值?

时间:2018-10-11 23:28:04

标签: python pandas

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

我正在查看的内容:我有一个艺术家数据集,其列名为“死亡年”。

在该列中,有死亡年份或Nan,我将其更改为“存活”。我想在此列中将死亡年份转换为真实的假生命值。此列的dType是Object。

1 个答案:

答案 0 :(得分: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()