在制作数据透视表时,我遇到了转换数组数据错误的问题。我已经彻底检查了所有组件都是float64。但是错误仍然存在。我的代码片段转载如下:
bins_array=np.asarray(bins_list,dtype = np.float64)
Genesis_file['PASS_DATE']=np.round(((date_rp-Genesis_file['VALUE_DATE']).dt.days)/365,1)
temp_file=Genesis_file.pivot_table(values ='ACY_CURR_BALANCE_2021.03.19',index = pd.cut('CM_MIS_Y',bins = bins_array),
columns = pd.cut('PASS_DATE',bins = bins_array),fill_value = 0.0, aggfunc = 'sum',
dropna = False)
>>>TypeError: Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'
Genesis_file['ACY_CURR_BALANCE_2021.03.19'].dtypes
>>>dtype('float64')
Genesis_file['CM_MIS_Y'].dtypes
>>>dtype('float64')
Genesis_file['PASS_DATE'].dtypes
>>>dtype('float64')
所有列都是float64;但是 ['ACY_CURR_BALANCE_2021.03.19'] 列没有四舍五入;['CM_MIS_Y'] 和 ['PASS_DATE'] 舍入到小数点后 1 位(希望信息有所帮助!)
非常感谢!