使用*args将数据帧传递给函数

2024-06-25 23:07:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个函数,其中几个数据帧可以作为*args传递,以便绘制一些图。这有点像:

def f_plot (*args):
    p = None
    if args == df1:
        ...plot rules for df1...
        p = plot.show()
    elif args == df2:
        ...plot rules for df2...
        p = plot.show()
    else:
        raise ValueError("No *args were passed!!!)
    return p

顺便说一下,我得到以下错误:

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty(), a.bool(), a.item(), a.any() or a.all().

以下是简化的df示例:

df1 = {'home': [A,B,C,D,E], 'away': [F,G,H,I,J], 'score_in': [2,1,3,2,0], 'score_out': [1,3,1,0,2], ‘competition’: [highschool, university, highschool, university, MLS, university]}

df2=df1.groupby('competition').get_group('university')

在这个例子中,我想创建一个图,如果arg等于df1,则同一图中关于分数的n个子图,其中n是竞赛,而如果arg等于一个可能的df2,则创建一个与上一个图不同的图

有什么帮助吗


Tags: 数据函数forplotshowargargsrules