Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从dataframe中选择平均值大于某个限制的列?_Python_Pandas_Columnsorting - Fatal编程技术网

Python 如何从dataframe中选择平均值大于某个限制的列?

Python 如何从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

我有一个多栏的数据框。每列都是某个变量的时间序列。我只想选取某些度量意义重大的列,也就是说,我想为每一列选取列的子集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列更简单