Convert pandas dataframe to NumPy array

前端 未结 15 2637
别那么骄傲
别那么骄傲 2020-11-21 23:57

I am interested in knowing how to convert a pandas dataframe into a NumPy array.

dataframe:

import numpy as np
import pandas as pd

index = [1, 2, 3,         


        
15条回答
  •  暖寄归人
    2020-11-22 00:50

    Just had a similar problem when exporting from dataframe to arcgis table and stumbled on a solution from usgs (https://my.usgs.gov/confluence/display/cdi/pandas.DataFrame+to+ArcGIS+Table). In short your problem has a similar solution:

    df
    
          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
    
    np_data = np.array(np.rec.fromrecords(df.values))
    np_names = df.dtypes.index.tolist()
    np_data.dtype.names = tuple([name.encode('UTF8') for name in np_names])
    
    np_data
    
    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=(numpy.record, [('A', '

提交回复
热议问题