根据某些标准过滤列



我还有一个关于使用熊猫操纵数据的问题。我正在尝试根据一定条件为列提交专栏,但似乎无法获得正确的代码。

我需要根据$ 1000000至$ 20000的"收入"过滤我的数据,"债务比率"超过20%

我尝试了以下代码,但是在我的语法中不断出现错误或只是布尔的true或false输出。

loans_df = loansdf[loans_df('Income')== range(1000000:2000000) & loans_df('Debt Ratio') > .20]

因此,我的预期结果是基于这些过滤器的DF的视觉效果,我一直遇到错误或true或false输出!

检查您构造布尔面膜的方式以及操作员的优先级。值得审查Python语言以及如何制作pandas的布尔面具。这是一个功能齐全的解决方案,在一行上蒙版,因此您可以与操作员一起玩,如果需要,优先级和其他逻辑。还要检查数据框中的列被引用的方式。

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])

产生

2  1500000         0.3

最新更新