python pandas numpy_Python-将pandas数据框转换为NumPy数组

我对知道如何将熊猫数据框转换为NumPy数组感兴趣。

数据框:

import numpy as np

import pandas as pd

index = [1, 2, 3, 4, 5, 6, 7]

a = [np.nan, np.nan, np.nan, 0.1, 0.1, 0.1, 0.1]

b = [0.2, np.nan, 0.2, 0.2, 0.2, np.nan, np.nan]

c = [np.nan, 0.5, 0.5, np.nan, 0.5, 0.5, np.nan]

df = pd.DataFrame({'A': a, 'B': b, 'C': c}, index=index)

df = df.rename_axis('ID')

label A B C

ID

1 NaN 0.2 NaN

2 NaN NaN 0.5

3 NaN 0.2 0.5

4 0.1 0.2 NaN

5 0.1 0.2 0.5

6 0.1 NaN 0.5

7 0.1 NaN NaN

我想将其转换为NumPy数组,如下所示:

array([[ nan, 0.2, nan],

[ nan, nan, 0.5],

[ nan, 0.2, 0.5],

[ 0.1, 0.2, nan],

[ 0.1, 0.2, 0.5],

[ 0.1, nan, 0.5],

[ 0.1, nan, nan]])

我怎样才能做到这一点?

作为奖励,是否可以像这样保留dtype?

array([[ 1, nan, 0.2, nan],

[ 2, nan, nan, 0.5],

[ 3, nan, 0.2, 0.5],

[ 4, 0.1, 0.2, nan],

[ 5, 0.1, 0.2, 0.5],

[ 6, 0.1, nan, 0.5],

[ 7, 0.1, nan, nan]],

dtype=[('ID', '

或类似的?

你可能感兴趣的:(python,pandas,numpy)