详解pandas.DataFrame.to_numpy()(将数据框转换为NumPy数组)函数使用方法

pandas.DataFrame.to_numpy()是将Pandas DataFrame对象转换为NumPy数组的方法。它会返回一个NumPy数组,其中包含DataFrame中的所有数据。如果DataFrame中的所有列都是数值类型,那么返回的数组的dtype为numpy.float64。

使用方法:

DataFrame.to_numpy(dtype=None, copy=False, na_value=<class 'float'>)

参数说明:

  • dtype:用于数组的数据类型,默认为None。
  • copy:默认为False,在某些情况下,数据是复制而不是视图。
  • na_value:要替换的缺失值标记,默认为numpy.nan。

示例:

将DataFrame转换为NumPy数组

import pandas as pd
import numpy as np

# 构造数据
data = {'名称': ['苹果','橘子','香蕉','菠萝'],
        '数量': [10, 8, 20, np.nan],
        '价格': [3.2, 2.5, np.nan, 6.8],
        '质量': ['优', '良', '优', '良']}
df = pd.DataFrame(data)

# DataFrame显示
print(df)

# DataFrame转换为NumPy数组
arr = df.to_numpy()

# 输出NumPy数组
print(arr)

输出:

名称    数量   价格  质量
0  苹果  10.0  3.2  优
1  橘子   8.0  2.5  良
2  香蕉  20.0  NaN  优
3  菠萝   NaN  6.8  良

array([['苹果', 10.0, 3.2, '优'],
       ['橘子', 8.0, 2.5, '良'],
       ['香蕉', 20.0, nan, '优'],
       ['菠萝', nan, 6.8, '良']], dtype=object)

将DataFrame转换为NumPy数组,并指定dtype

# 指定dtype
arr = df.to_numpy(dtype='float')

# 输出NumPy数组
print(arr)

输出:

array([[10. ,  3.2, nan],
       [ 8. ,  2.5, nan],
       [20. ,  nan, nan],
       [nan,  6.8, nan]])

在这个示例中,指定了将DataFrame转换为NumPy数组时的数据类型,将所有缺失值转换为nan。可以看到,如果DataFrame中的某些列包含缺失值,则转换后的数组中会显示nan。

本文链接:https://my.lmcjl.com/post/20112.html

展开阅读全文

4 评论

留下您的评论.