gpt4 book ai didi

python - 在 astropy 表中删除带有屏蔽元素的行

转载 作者:太空宇宙 更新时间:2023-11-03 14:45:00 24 4
gpt4 key购买 nike

考虑一个astropy Table() object .

from astropy.io import ascii

weather_data = """
day,precip,type
,1.5,rain
Tues, 9.,
Wed,1.1,snow
ed,,aaa
Wd,1.1,snow
"""

dat = ascii.read(weather_data)
print(dat)

day precip type
---- ------ ----
-- 1.5 rain
Tues 9.0 --
Wed 1.1 snow
ed -- aaa
Wd 1.1 snow

我需要删除包含至少一个屏蔽元素的所有行。决赛 table 应该如下所示:

day  precip type
---- ------ ----
Wed 1.1 snow
Wd 1.1 snow

这似乎是一项简单的任务,但我在docs 中找不到完成它的方法。 .

添加

我知道我可以使用 .to_pandas() 将表转换为 pandas 对象,然后使用类似 .dropna() 的东西,但这迫使我安装了我不想要的 pandas

最佳答案

通用的方式

import operator
# if python3: from functools import reduce
dat[reduce(operator.and_, [~dat[col].mask for col in dat.columns])]

day precip type
str4 float64 str4
---- ------- ----
Wed 1.1 snow
Wd 1.1 snow

这个过程所做的只是一种通用的做事方式

dat[(~dat['day'].mask) & (~dat['precip'].mask) & (~dat['type'].mask)]

关于python - 在 astropy 表中删除带有屏蔽元素的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50256012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com