Python 如何从dataframe中选择平均值大于某个限制的列?
我有一个多栏的数据框。每列都是某个变量的时间序列。我只想选取某些度量意义重大的列,也就是说,我想为每一列选取列的子集s.t 所有行的平均值大于x,或 所有行的最大值都大于x i | col1 | col2 | col3 | 0 | 0.1 | 0.5.|0.3. | .... 1.09 | 0.4 | 0.4 | 2 |.08 |.45 |.36 | 比方说,从上表中,我只想选择条件为column_avg>0.2的[col2,col3] 或者,仅col2,条件为:column_avg>.4Python 如何从dataframe中选择平均值大于某个限制的列?,python,pandas,columnsorting,Python,Pandas,Columnsorting,我有一个多栏的数据框。每列都是某个变量的时间序列。我只想选取某些度量意义重大的列,也就是说,我想为每一列选取列的子集s.t 所有行的平均值大于x,或 所有行的最大值都大于x i | col1 | col2 | col3 | 0 | 0.1 | 0.5.|0.3. | .... 1.09 | 0.4 | 0.4 | 2 |.08 |.45 |.36 | 比方说,从上表中,我只想选择条件为column_avg>0.2的[col2,col3] 或者,仅col2,条件为:column_avg>.4
类似地,如果您想得到平均值超过的每一列,则不要以平均值为条件,而是以每一列的最小值或最大值为条件。4: 用max替换df.max的df.mean
请告诉我这里是否有需要解释的地方。如果您想得到平均值超过的每一列。4: 用max替换df.max的df.mean 如果这里有什么需要解释的,请告诉我。试试这个:
df2 = df[df.columns[df.mean(axis=0) > 0.2]]
df3 = df[df.columns[df.max(axis=0) > 0.4]]
df.min的工作原理与此相同。尝试以下方法:
df2 = df[df.columns[df.mean(axis=0) > 0.2]]
df3 = df[df.columns[df.max(axis=0) > 0.4]]
df.min的工作方式相同。x对所有列都相同?是。所有列的条件都相同。所有列的x都相同?是。所有列的条件都相同。为什么不直接使用df2=df.loc[:,df.meanaxis=0>0.2]?我认为它比使用df.columns更简单为什么不使用df2=df.loc[:,df.meanaxis=0>0.2]?我认为这比使用df列更简单