Dictionary keys and values to separate numpy arrays

后端 未结 6 677
迷失自我
迷失自我 2021-02-02 08:32

I have a dictionary as

Samples = {5.207403005022627: 0.69973543384229719, 6.8970222167794759: 0.080782939731898179, 7.8338517407140973: 0.10308033284258854, 8.53         


        
6条回答
  •  南旧
    南旧 (楼主)
    2021-02-02 08:53

    On python 3.4, the following simply works:

    Samples = {5.207403005022627: 0.69973543384229719, 6.8970222167794759: 0.080782939731898179, 7.8338517407140973: 0.10308033284258854, 8.5301143255505334: 0.018640838362318335, 10.418899728838058: 0.14427355015329846, 5.3983946820220501: 0.51319796560976771}
    
    keys = np.array(list(Samples.keys()))
    values = np.array(list(Samples.values()))
    

    The reason np.array(Samples.values()) doesn't give what you expect in Python 3 is that in Python 3, the values() method of a dict returns an iterable view, whereas in Python 2, it returns an actual list of the keys.

    keys = np.array(list(Samples.keys())) will actually work in Python 2.7 as well, and will make your code more version agnostic. But the extra call to list() will slow it down marginally.

提交回复
热议问题