我正在为我正在构建的应用程序抽象很多熊猫功能。我有一种情况,我需要从目标列获取值,在该列中首次出现未知数条件的结果为true。像这样:
import pandas as pd
#lets say this dataframe already has data in it with column names and number index rows.
df = pd.Dataframe()
targetCols:list = [targetColName1, targetColName2]
compCols:list = [compColName1, compColName2]
compVals:list = [compVals1, compVals2]
#Some function that concatenates the compCols and compValues in to stirngs
# look like:
# (f"(df[['{compCols[0]}']=={compVals[0]}]) & "
# f"(df[['{compCols[1]}'] == {compVals[1]})")
strExeString = ConcatenateExecutonString(compCols, compVals)
dfView = pd.eval(strExeString)
dfView = dfView[targetCols]
return dfview.loc[0:]
但是,上述情况导致我需要大量扫描数据集,因此我想只扫描DataFrame一次,直到满足条件,然后提取目标列。我们可以用熊猫吗?我可以使用本机列表对象来做到这一点,但是如果我可以使用熊猫,因为它可以更有效地处理大型集合。