如何提取python中箱形图中用该异常值指定的异常值的其他数据?

How to extract other data of outlier that is specified with that outlier in box plot in python?

这是我的 pandas 数据框:

Datetime SN NO. Values data1 data2 data3 data4 data5 data6
2020-09-29T14:59:13.4461479+02:00 701 24.511 3.556 3.557 3.555 3.551 3.559 3.555
2020-09-29T15:48:04.6368679+02:00 702 24.516 3.554 3.555 3.555 3.556 3.552 3.557
2020-09-29T15:51:46.2555875+02:00 703 24.517 3.553 3.556 3.551 3.553 3.558 3.554
2020-10-01T12:51:59.2687665+02:00 704 24.519 3.552 3.557 3.556 3.559 3.557 3.557
2021-02-01T19:27:09.0472459+02:00 705 24.511 3.551 3.558 3.558 3.550 3.551 3.552
. . . . . . . . .
boxplot = df.reset_index().boxplot(column=['Values'], by = "Datetime", return_type=None)
from matplotlib.cbook import boxplot_stats
outliers = [y for stat in boxplot_stats(df['Values']) for y in stat['fliers']]
print(outliers)
boxplot.plot()
plt.show()

[很抱歉给您带来不便,这张图片已被删除]

如方框图所示,有一些异常值,但我想提取包含在具有该特定值的行中的其他数据。 (例如:数据框中的一个异常值是 24.519,但我还需要其他数据,例如 SN 号和 data1、data2、data3 等特定值。最好的方法是什么?

要获得包含所有异常值的 DF:

df_outliers = df.loc[df['Values'].isin(outlier_values), :]

只获取一行:

df_outliers = df.loc[df['Values'].eq(single_value), :]

如果您有多个具有相同值的行,它将找到所有这些行。

仅保留原始 df 中的某些列:

cols = ['data1', 'data2']
df_outliers = df.loc[df['Values'].isin(outlier_values), cols]