【发布时间】:2019-03-17 03:11:51
【问题描述】:
我想要做的是将列中的值更改为布尔值。
我在看什么:我有一个艺术家数据集,其中有一列名为“死亡年”。
在该列中,它有死亡年份或Nan,我将其更改为活着。我想在此列中将死亡年份变为 false 并将活着的值变为 True。此列的 dType 是 Object。
【问题讨论】:
我想要做的是将列中的值更改为布尔值。
我在看什么:我有一个艺术家数据集,其中有一列名为“死亡年”。
在该列中,它有死亡年份或Nan,我将其更改为活着。我想在此列中将死亡年份变为 false 并将活着的值变为 True。此列的 dType 是 Object。
【问题讨论】:
可重现的例子:
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()
【讨论】: