在 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)
我有一个 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)