00_*_*_00 9 python numpy pandas
我需要将大型数据帧转换为numpy数组.仅保留数值和类型.我知道有很好的记录方法可以这样做.
那么,哪一个更喜欢?
df.values
df._as_matrix()
pd.to_numeric(df)
... others ...
Run Code Online (Sandbox Code Playgroud)
决策因素:
效率
安全地操作nan,np.nans和其他可能的意外值
数值稳定
jpp*_*jpp 12
你提到的功能有不同的用途.
pd.to_numeric:如果您的数据当前未以数字形式存储,或者您希望通过downcast='float'或转换
为最佳类型,则使用此选项转换数据框中的类型downcast='integer'.
pd.DataFrame.to_numpy():使用此选项检索pd.DataFrame.values数据框的数组表示形式.
numpy:不要用这个.它仅用于向后兼容.
在引擎盖下,a pandas.DataFrame只不过是a numpy.array。最简单且可能最快的方法是使用pandas.DataFrame.values
DataFrame.valuesNDFrame的Numpy表示
笔记
dtype将是一个较低的公分母dtype(隐式向上转换);也就是说,如果dtypes(甚至是数字类型)混合在一起,则将选择容纳所有类型的dtypes。如果不处理块,请小心使用。
例如,如果dtype是float16和float32,则dtype将被向上转换为float32。如果dtype是int32和uint8,则dtype将被转换为int32。按照numpy.find_common_type约定,将int64和uint64混合使用将产生flot64 dtype。
| 归档时间: |
|
| 查看次数: |
16620 次 |
| 最近记录: |