如何将数据从一个功能传递到另一个功能?

时间:2020-07-01 18:12:55

标签: python python-3.x pandas

我想使用getExcel函数读取数据,然后将其传递给stats函数,该函数可以恢复df.describe(pandas.describe)以显示所加载数据的描述性统计信息(平均值,最大值,最小值等)。我该怎么做?

    import tkinter as tk
    from tkinter import filedialog
    import pandas as pd
    
    def getExcel ():
        global df
        import_file_path = filedialog.askopenfilename()
        data = pd.read_csv (import_file_path).iloc[:,1:]  
        df = data.interpolate(method='linear', axis=0).ffill().bfill() 
    
    def stats(getExcel): 
        return df.describe()

2 个答案:

答案 0 :(得分:0)

假定您不是简单地让一个函数调用另一个函数的明显解决方案。您可以使它们成为同一类的方法,并将第二个数据作为实例数据的一部分...在这种情况下,应在构造时将其初始化。

import tkinter as tk
from tkinter import filedialog
import pandas as pd

class App:
    def __init__(self):
        df = getExcel()

    def getExcel(self):
        import_file_path = filedialog.askopenfilename()
        data = pd.read_csv (import_file_path).iloc[:,1:]  
        self.df = data.interpolate(method='linear', axis=0).ffill().bfill()
        return self.df 

    def stats(self): 
        return self.df.describe()

答案 1 :(得分:0)

getExcel需要返回数据。然后,您可以将该数据传递到stats

def getExcel():
    ...
    return df

def stats(df): 
    return df.describe()

df = getExcel()
result = stats(df)