Python 熊猫馅饼花的时间太长了

Python 熊猫馅饼花的时间太长了,python,pandas,Python,Pandas,程序开始插补缺失值和挂起。如果我不将其归罪,它运行得相对较快。为什么要挂起来?groupby是否需要这么长的时间?您可以在执行groupby/fillna之前设置索引。试着分析找出哪条线路/呼叫是昂贵的。我知道groupby是昂贵的,当我不填充缺失的值时,它会在几秒钟而不是几分钟内运行。如果我在那之前设置了索引,我会得到一个“KeyError:‘Country Name’”,我不知道如何按其他方式分组。好的,我在那之前移动了groupby(使用groupby(级别=[0,1])),脚本太慢了。您

程序开始插补缺失值和挂起。如果我不将其归罪,它运行得相对较快。为什么要挂起来?groupby是否需要这么长的时间?

您可以在执行groupby/fillna之前设置索引。试着分析找出哪条线路/呼叫是昂贵的。我知道groupby是昂贵的,当我不填充缺失的值时,它会在几秒钟而不是几分钟内运行。如果我在那之前设置了索引,我会得到一个“KeyError:‘Country Name’”,我不知道如何按其他方式分组。好的,我在那之前移动了groupby(使用groupby(级别=[0,1])),脚本太慢了。您可以在执行groupby/fillna之前设置索引。试着分析找出哪条线路/呼叫是昂贵的。我知道groupby是昂贵的,当我不填充缺失的值时,它会在几秒钟而不是几分钟内运行。如果我在这之前设置了索引,我会得到一个“KeyError:‘Country Name’”,我不知道如何按分组。好的,我在这之前移动了groupby(使用groupby(级别=[0,1])),脚本太慢了。
def load_data():
    data = pd.read_csv('data-WDI/WDI_Data.csv')
    print('filling na..')
    data.fillna(data.groupby(['Country Name', 'Indicator Name']).transform('mean'), inplace=True)
    data.set_index(['Country Name', 'Indicator Name'], inplace=True)
    data = data.to_panel()
    # save only data for the years, the rest is redundant
    years = [str(year) for year in range(1960, 2016)]
    data = data[years]
    return prepare_test_and_train(data)