为什么收到此错误:
Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'
运行此代码块时:
quantity_list = df2['Qauntity'].tolist()
date_list = df2['Date'].tolist()
interpol = interpolate.interp1d(y = quantity_list,
x = date_list)
ynew = interpol(quantity_list)
plt.plot(date_list, ynew)
产生错误的行是:
ynew = interpol(quantity_list)
是否可以在所有笔记本电脑的头部连接减少内存容量?
内存的一部分。减少上面代码中变量的代码:
#memory reducing
dtypes = {
'Date': 'object',
...
'Quantity': 'float32'
}
def reduce_mem_usage(df, verbose = True):
...
return df
numerics = ['int8', 'int16', 'int32', 'int64', 'float16', 'float32', 'float64']
numerical_columns = [c for c, v in dtypes.items() if v in numerics]
categorical_columns = [c for c, v in dtypes.items() if v not in numerics]
此dtypes
表示将文件上传到python时的数据集。
重要提示:
我也将'Date'
的{{1}}从'object'
更改为'datetime64[ns]'
df1['Date'] = pd.to_datetime(df1['Date'])
产生np.array(quantity_list)
dtype float64
产生np.array(date_list)
dtype 如果我从代码主体中进行相同的日期转换,则会获得<U10
dtype。
这是什么魔术?
Pandas插值函数可以正常工作,但是pandas插值和scipy插值会产生不同的结果(https://github.com/pandas-dev/pandas/issues/8796),我需要scipy的结果。