我想写一个函数,其中几个数据帧可以作为*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,则创建一个与上一个图不同的图
有什么帮助吗
*args
用作元组,因此从这里的代码来看,不一定需要使用它但除此之外,您还可以对数据帧使用.equals()函数: https://www.w3resource.com/pandas/dataframe/dataframe-equals.php
但我不确定df1或df2中包含什么
相关问题 更多 >
编程相关推荐