我必须用动态行过滤熊猫数据框。我采用的方法是在循环的帮助下创建一个临时数据帧,然后最终使用concat联接该数据帧。此过程有效,但需要花费大量时间,这可能是处理效率低下的方式。我正在提供代码,如果有更好的方法可以解决,请帮助我。我正在提供带有样本数组的样本数据。该数组将动态生成。
import pandas as pd
##Sample DataFrame
df = pd.read_csv("https://raw.githubusercontent.com/justmarkham/pandas-videos/master/data/ufo.csv")
##Sample Filters
filters = ['NY', 'NJ', 'CO', 'KS', 'ND']
finaldf = pd.DataFrame()
for x in range(len(filters)):
temp = df[df.State==filters[x]]
finaldf = pd.concat([finaldf,temp])
print(finaldf.State.unique())
这给出了预期的结果。