在 python 中过滤 pandas 数据帧

Filtering pandas dataframe in python

我有一个 csv 文件,其中的行和列用逗号分隔。此文件包含 headers (str) 和值。现在,我想用条件过滤所有数据。例如,有一个名为“pmra”的 header,我想将 pmra 值的所有信息保留在 -2.6 和 -2.0 之间。我怎样才能做到这一点?我尝试使用 np.where 但它没有用。感谢您的帮助。

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np


filename="NGC188_C.csv"

data = pd.read_csv(filename)

ra       = data["ra"]
dec      = data["dec"]
parallax = data["parallax"]
pm_ra    = data["pmra"]
pm_dec   = data["pmdec"]
g_band   = data["phot_g_mean_mag"]
bp_rp    = data["bp_rp"]

您可以使用类似的东西:

data[(data["pmra"] >= -2.6) & (data["pmra"] <= -2)]

还有一种方法:可以使用between函数:

data["pmra"].between(-2.6, -2)