Python 过滤“;“坏的”;数据框中的数据,并绘制;“好”;结果

Python 过滤“;“坏的”;数据框中的数据,并绘制;“好”;结果,python,pandas,matplotlib,Python,Pandas,Matplotlib,我正在使用一个函数来绘制来自两个熊猫数据帧的各种光源的光曲线。我想写一个循环,通过数据框中的每条光照曲线循环,绘制出好的光照曲线。该函数的工作原理是在同一绘图上绘制两条曲线,每个数据帧绘制一条曲线。我需要循环来计算其中一条曲线(LSST曲线)的数据点,并消除少于5个点的图。所有点击图都有足够的数据点,但LSST图已应用过滤器。我对Python还比较陌生,所以我对如何进行这项工作感到非常困惑。有关功能如下所示: def plotLsstHitsLightCurve(obj, srcTable, r

我正在使用一个函数来绘制来自两个熊猫数据帧的各种光源的光曲线。我想写一个循环,通过数据框中的每条光照曲线循环,绘制出好的光照曲线。该函数的工作原理是在同一绘图上绘制两条曲线,每个数据帧绘制一条曲线。我需要循环来计算其中一条曲线(LSST曲线)的数据点,并消除少于5个点的图。所有点击图都有足够的数据点,但LSST图已应用过滤器。我对Python还比较陌生,所以我对如何进行这项工作感到非常困惑。有关功能如下所示:

def plotLsstHitsLightCurve(obj, srcTable, row, lcPath='random file path'):
    plt.figure(figsize=(10,8))

    # Plot LSST curve
    srcRowFilter = (srcTable['diaObjectId'] == obj)
    srcRow = srcTable.loc[srcRowFilter]
    plt.errorbar(srcRow['midPointTai'], srcRow['magCol'],yerr=srcRow['magErrCol'],ls=':', marker='o', label='LSST')

    # PLot HiTS Curve
    tok = row['internalID'].split('_')
    field = '_'.join([tok[0],tok[1]])
    ccd = tok[2]
    lightcurveFile = field + '_' + ccd + '_LC_50.tar.gz'
    tarball = tarfile.open(os.path.join(lcPath,field,ccd,lightcurveFile))
    data = tarball.extractfile(str(row['internalID'])+ '_g.dat')
    dfl = pd.read_csv(data,sep='\t') # lead a file with a light curve data into a pandas dataframe
    plt.errorbar(dfl.MJD,dfl.MAG_AP1,dfl.MAGERR_AP1, marker='o',linestyle=':', label='HiTS')
obj = goodObj.iloc[idx[2]]['diaObjectId']
row = hitsDf.iloc[2]

如果不共享至少一个数据样本,你可能无法从任何人那里得到一个好的答案。只需一个小样本就可以了。数据是一个大熊猫数据框,大约有20列,因此很难给出数据。我只使用了几列,但仍然有大约450000行数据。基本上,任何带有随机点的数据帧都可以用于这些目的。
enter code here
enter code here