我有一个 Dataframe :
df = pd.DataFrame({
'col1': [0.1, 0.8, 0.2, 0.12],
'col2': [0.2, 0.9, 0.1, 0.1],
'col3': [0.3, 0.2, 0.1, 0.2],
'col4': [0.6, 0.7, 0.8, 0.9]
})
col1 col2 col3 col4
0 0.10 0.2 0.3 0.6
1 0.80 0.9 0.2 0.7
2 0.20 0.1 0.1 0.8
3 0.12 0.1 0.2 0.9
我想找到那些列值,其中至少有一个行值大于0.7,其余的都小于0.3。在上面的代码片段中,结果应该是:
['col1', 'col2']
我试过下面的代码:
selected_cols = []
for col in df.columns:
values = df[col]
if any(values > 0.7) and all(values < 0.3):
selected_cols.append(col)
print(selected_cols)
4条答案
按热度按时间vcirk6k61#
试试看:
图纸:
aiqt4smr2#
使用列表理解
nhjlsmyf3#
您可以:
输出:
gmxoilav4#
如果你只想要列的名字,只需要: