我有一个名为bas
. 例如它看起来像这样:
nat rac numberOnly
0 DD AR 548484554
1 AD AR 168484245
2 FF COL 484984554
3 WW DE 484845225
...
它有 50k+ 行。我试图只获取rac == AR or COL
.
我写了这段代码:
AR = bas.where(bas.rac == "AR").dropna()
COL = bas.where(bas.rac == "COL").dropna()
DF = pd.DataFrame()
DF = DF.append(AR)
DF = DF.append(COL)
df 的 Len 是 27429。但是代码看起来不太好。特别是我想rac
稍后过滤更多。所以我决定以这种方式重新编码:
DF = bas.where(bas.rac == ("AR" or "COL")).dropna()
在这种情况下,DF 有 27196 行。
为什么?这里有什么区别?哪种方法更好?也许我应该用别的东西来代替?
你的做法肯定行不通。您正在寻找isin
:
df[df.rac.isin(['AR', 'COL'])]
nat rac numberOnly
0 DD AR 548484554
1 AD AR 168484245
2 FF COL 484984554
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句