# create some sample data, since none was provided
>>> df = pd.DataFrame({'Age': [15, 700, 600, 150, 125, 32, 45, 43, 56, 1002], 'Boolean': ['001', '100', '0', '1', '1', '010', '110', '1', '0', '0']})
>>> print(df)
Age Boolean
0 15 001
1 700 100
2 600 0
3 150 1
4 125 1
5 32 010
6 45 110
7 43 1
8 56 0
9 1002 0
# keep only those rows for which the 'Age' column is in the inclusive range [18, 150]
>>> new_df = df[df['Age'].isin(range(18, 151))]
>>> print(new_df)
Age Boolean
3 150 1
4 125 1
5 32 010
6 45 110
7 43 1
8 56 0
# finally, keep only those boolean values that are of length 1
# (i.e. exclude rows with 'Boolean' values like '110' or '010')
>>> new_df = new_df[new_df['Boolean'].map(len) == 1]
>>> print(new_df)
Age Boolean
3 150 1
4 125 1
7 43 1
8 56 0
你能不能给我们一些样本数据? – blacksite
另外,当那些布尔值显然不是'nan'时,为什么要使用'pandas.DataFrame.dropna()'? – blacksite
我添加了上面的数据的屏幕截图。我已经使用了dropna(),它摆脱了NaN值,但它没有摆脱非布尔值。 –