0

我需要从更大的集合中选择具有某些重叠属性的对象。

我需要选择距离中心 5 半径范围内、距离中平面 1-1.25 高度和不同年龄的一组对象。到目前为止,我已经尝试了以下方法,但它似乎没有按需要工作,特别是它似乎不受高度选择的影响(它肯定应该)。选定的星星必须满足所有条件。

bulge=s.s[s.s['rxy']<5]

height=[i for i, x in enumerate(bulge['z']) if 1<x<1.25]
age1=[i for i, x in enumerate(bulge['age']) if x<0.1]
age2=[i for i, x in enumerate(bulge['age']) if 9<x<10]

ageheight1=bulge(height and age1)
ageheight2=bulge(height and age2)

下面是不同高度的径向密度分布

高度从 0.75-1

身高1-2

可以看到,高度根本不影响结果,这不应该是这样的。

4

1 回答 1

0

假设您正在使用的数据类型是 pandas DataFrame,那么您可以编写条件语句并使用它进行选择,如下所示

ageheight1 = bulge[ (bulge['age']<0.1) & (bulge['z']<1.25) & (bulge['z']>1)]
ageheight2 = bulge[ (bulge['age']<10) & (bulge['age']>9) & (bulge['z']<1.25) & (bulge['z']>1)]
于 2020-05-03T11:30:48.240 回答