我试图用同一列中日期的最大值填充日期列中的缺失值。但是,通过提供以下代码,它不会被转换。
us_copy['Inv_Latest_Document_Date'] = us_copy['Inv_Latest_Document_Date'].fillna(us_copy.groupby('Vendor_Name')['Inv_Latest_Document_Date'].max())
答案 0 :(得分:0)
对与原始大小相同的系列使用 GroupBy.transform
:
#if necessary convert to datetimes
us_copy['Inv_Latest_Document_Date'] = pd.to_datetime(us_copy['Inv_Latest_Document_Date'])
s = us_copy.groupby('Vendor_Name')['Inv_Latest_Document_Date'].transform('max')
us_copy['Inv_Latest_Document_Date'] = us_copy['Inv_Latest_Document_Date'].fillna(s)
编辑:如果需要按所有列值的最大值进行替换:
#if necessary convert to datetimes
us_copy['Inv_Latest_Document_Date'] = pd.to_datetime(us_copy['Inv_Latest_Document_Date'])
a = us_copy['Inv_Latest_Document_Date'].max()
us_copy['Inv_Latest_Document_Date'] = us_copy['Inv_Latest_Document_Date'].fillna(a)