Python 3.x 根据特定条件筛选出列

Python 3.x 根据特定条件筛选出列,python-3.x,pandas,filtering,Python 3.x,Pandas,Filtering,我还有一个关于使用熊猫操作数据的问题。我正试图根据特定的条件对列进行归档,但似乎无法获得正确的代码 我需要根据“收入”筛选我的数据,收入在1000000美元到2000000美元之间,“负债率”超过20% 我已经尝试了下面的代码,但总是在语法中出现错误,或者只是一个布尔值True或False输出 loansdf=loansdf[loansdf('Income')==范围(1000000:2000000)和loansdf('Debt Ratio')>。20] 因此,我的预期结果将是一个基于这些过滤

我还有一个关于使用熊猫操作数据的问题。我正试图根据特定的条件对列进行归档,但似乎无法获得正确的代码

我需要根据“收入”筛选我的数据,收入在1000000美元到2000000美元之间,“负债率”超过20%

我已经尝试了下面的代码,但总是在语法中出现错误,或者只是一个布尔值True或False输出

loansdf=loansdf[loansdf('Income')==范围(1000000:2000000)和loansdf('Debt Ratio')>。20]

因此,我的预期结果将是一个基于这些过滤器的df的可视化显示,我不断得到错误或真或假输出

检查构造布尔掩码的方式以及运算符的优先级。值得回顾一下python语言以及如何使用熊猫制作布尔掩码。这是一个功能强大的解决方案,其中一行带有掩码,所以您可以随意使用运算符、优先级和其他逻辑。还要检查数据框中的列被引用的方式

import pandas as pd
import csv

from pandas.compat import StringIO

csvdata = StringIO("""
Income,Debt Ratio
5000000,.4
1000000,.4
1500000,.3
1500000,.1
""")

loans_df = pd.read_csv(csvdata, sep=",")
mask = (loans_df['Income'] > 1000000) & (loans_df['Income'] < 2000000) & (loans_df['Debt Ratio'] > .20)
print (loans_df[mask])

检查构造布尔掩码的方式以及运算符的优先级。值得回顾一下python语言以及如何使用熊猫制作布尔掩码。这是一个功能强大的解决方案,其中一行带有掩码,所以您可以随意使用运算符、优先级和其他逻辑。还要检查数据框中的列被引用的方式

import pandas as pd
import csv

from pandas.compat import StringIO

csvdata = StringIO("""
Income,Debt Ratio
5000000,.4
1000000,.4
1500000,.3
1500000,.1
""")

loans_df = pd.read_csv(csvdata, sep=",")
mask = (loans_df['Income'] > 1000000) & (loans_df['Income'] < 2000000) & (loans_df['Debt Ratio'] > .20)
print (loans_df[mask])
如果你提供了一个,你需要在每个bool周围加上“(“and”)”,所以它应该是
loansdf=loansdf[(loans\u df('Income')==范围(1000000:2000000))&(loans\u df('Debt Ratio')>.20)]
小心范围(x:y)。不要认为它是有效的python,我认为range(x,y)在上下文中也不起作用。如果你提供了一个,你就可以使用。你需要在每个bool周围添加“(“and”)”,所以它将是
loansdf=loansdf[(loans\u df('Income')==range(1000000:2000000))&(loans\u df('Debt Ratio')>.20)]
小心范围(x:y)。不要认为它是有效的python,range(x,y)在上下文methinks中也不起作用。