我有 pandas 数据框
df
。我想选择标准差大于 1 的列。这是我尝试过的
df2 = df[df.std() >1]
df2 = df.loc[df.std() >1]
两者都产生错误。我做错了什么?
使用
df.loc[:, df.std() > 1]
就能解决问题。
第一部分
[:
指的是行,第二部分df.std() > 1
指的是列
我们需要获取值的标准差大于 1 的列的列表。
然后可以将该列列表传递到数据框以选择相关数据。
在尝试获取列表之前,请注意删除“object”类型的列。 下面的行获取列的列表。
df.columns[(df.std() > 1).to_list()]
在下面的行中获取包含所选列的数据框。
df[df.columns[(df.std() > 1).to_list()]]