我需要从较大的集合中选择具有某些重叠属性的对象。
我需要选择一组距离中心半径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 的高度
可以看出,高度根本不会影响结果,事实并非如此。
假设您正在处理的数据类型是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)]