Python Groupby,DF转换循环(DF> Groupby>应用功能>数组>返回DF)

时间:2019-12-10 18:09:40

标签: python loops dataframe group-by numpy-ndarray

获取估算的2d_array并返回到Origianl df的最佳方法?

(必须在循环中工作)

循环使用Groupby获取我的DF的子集。

enter image description here

MICE imputation应用于该结果组(子集)的2列。

enter image description here

产生numpy array,现在已推算NaN值。 (到目前为止一切都很好)

enter image description here 请注意,右下角的值(5.07e + 9)已正确估算(忽略float64中的年份)

  

将估算的2d_array返回Origianl DF的最佳方法?

  • 我可以将数组转换为具有匹配列名的新df,然后执行df.merge,但是 在循环中 ,我感觉像这样在计算上会很昂贵(?)
      

    groupby的{​​{1}}是否自动处理此问题?

Transform

想定义一个函数或使用df = ['country', 'series', 'year', 'value'] a_given_country_series_group = df.groupby(['country', 'series']) for value_column in a_given_country_series_group, if np.nan is present in value_column (or a_given_country_series_group) #either should be fine #apply imputation to group via: mice((a_given_country_series_group[['year', 'value']]).values) #Returns imputed 2d array of that group #All good so far... #put resulting 2d_array back into original df, then go to the next country_series_group and repeat with next grouping 来将估算的结果恢复为原始结果,但这是最好的方法吗?

0 个答案:

没有答案