Python 如何通过为每列选择特定范围来消除数据帧中的行?-熊猫

Python 如何通过为每列选择特定范围来消除数据帧中的行?-熊猫,python,pandas,dataframe,Python,Pandas,Dataframe,我正在开发一个数据框架,它显示巴西的房产租赁信息。这是数据集的一个示例: data = { 'city': ['São Paulo', 'Rio', 'Recife'], 'area(m2)': [90, 120, 60], 'Rooms': [3, 2, 4], 'Bathrooms': [2, 3, 3], 'animal': ['accept', 'do not accept', 'accept'], 'rent($)': [2000, 30

我正在开发一个数据框架,它显示巴西的房产租赁信息。这是数据集的一个示例:

data = {
    'city': ['São Paulo', 'Rio', 'Recife'],
    'area(m2)': [90, 120, 60],
    'Rooms': [3, 2, 4],
    'Bathrooms': [2, 3, 3],
    'animal': ['accept', 'do not accept', 'accept'],
    'rent($)': [2000, 3000, 800]}

df = pd.DataFrame(
    data,
    columns=['city', 'area(m2)', 'Rooms', 'Bathrooms', 'animal', 'rent($)'])

print(df)
以下是示例的外观:

        city  area(m2)  Rooms  Bathrooms         animal  rent($)
0  São Paulo        90      3          2         accept     2000
1        Rio       120      2          3  do not accept     3000
2     Recife        60      4          3         accept      800
我想过滤数据集,以便只选择最多有2个房间和2个浴室的公寓

你知道我怎么做吗?

试试看

out = df.loc[(df.Rooms>=2) & (df.Bathrooms>=2)]
您可以使用以下方法:


out=test\u gdata.query('Bathrooms您可以过滤数据框上的值

import pandas as pd 

data = {
    'city': ['São Paulo', 'Rio', 'Recife'],
    'area(m2)': [90, 120, 60],
    'Rooms': [3, 2, 4],
    'Bathrooms': [2, 3, 3],
    'animal': ['accept', 'do not accept', 'accept'],
    'rent($)': [2000, 3000, 800]}

df = pd.DataFrame(
    data,
    columns=['city', 'area(m2)', 'Rooms', 'Bathrooms', 'animal', 'rent($)'])

df_filtered = df[(df['Rooms'] <= 2) & (df['Bathrooms'] <= 2)]

print(df_filtered)


是的!这很有效!但是,我说最多有两个浴室和两个房间。所以,我想应该是这样的:test_gdata.loc[(test_gdata.rooms谢谢!这很有效。不过,我说最多有两个浴室和两个房间。所以,我认为应该是这样的:'test_gdata.query('bathroomUpdated answer:)
import pandas as pd 

data = {
    'city': ['São Paulo', 'Rio', 'Recife'],
    'area(m2)': [90, 120, 60],
    'Rooms': [3, 2, 4],
    'Bathrooms': [2, 3, 3],
    'animal': ['accept', 'do not accept', 'accept'],
    'rent($)': [2000, 3000, 800]}

df = pd.DataFrame(
    data,
    columns=['city', 'area(m2)', 'Rooms', 'Bathrooms', 'animal', 'rent($)'])

df_filtered = df[(df['Rooms'] <= 2) & (df['Bathrooms'] <= 2)]

print(df_filtered)

        city  area(m2)  Rooms  Bathrooms         animal  rent($)
0  São Paulo        90      3          2         accept     2000
1        Rio       120      2          3  do not accept     3000
2     Recife        60      4          3         accept      800