我试着做一些简单的事情,只是用一个函数从Pandas调用loc,然后把它打印在一个excel表中,但我不知道为什么输出是空的。
def update_output(farol,dias,prod,officer,anal,coord):
df_f=df.loc[(df['FarolAging'].isin([farol])) & (df['Dias Pendentes'].isin([dias])) & (df['Produto'].isin([prod])) & (df['Officer'].isin([officer])) & (df['Analista'].isin([anal])) & (df['Coordenador'].isin([coord]))]
df_f.to_excel('C:\\Users\\brechtl\\Downloads\\File.xlsx', index=False)
update_output('vermelho', 'Até 20 dias','','Alexandre Denardi','Guilherme De Oliveira Moura','Anna Claudia')
编辑:一个朋友在评论中问我,我创建了一个和我正在使用的类似的 Dataframe
df = pd.DataFrame(np.array([["Vermelho","Verde","Amarelo"],["20 dias","40 dias","60 dias"],["Prod1","Prod1","Prod2"],
["Alexandre Denardi","Alexandre Denardi","Lucas Fernandes"],["Guilherme De Oliveira Moura","Leonardo Silva","Julio Cesar"],
["Anna Claudia","Bruno","Bruno"]]), columns=["FarolAging","Dias Pendentes","Produto","Officer","Analista","Coord"])
2条答案
按热度按时间wtzytmuj1#
调用函数时没有传递第三个参数的值。是错误还是有意的?这可能导致无数据,因为所有筛选条件都是“AND”,意味着必须全部为真。
bvhaajcl2#
如果你想把可选值传递给函数,那么我认为你需要在选择中使用一个函数,下面的模型代码展示了这是如何工作的(使用==进行比较)。
给予
给予
给出空 Dataframe