【问题标题】:How to transform a 2d array in to two different 1d array in python如何在python中将二维数组转换为两个不同的一维数组
【发布时间】:2022-11-03 21:29:59
【问题描述】:

我正在尝试转换一个二维数组:

{4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}

进入 2 个不同的一维数组,如下所示:

arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] 
arr2 = [2, 3, 7, 6, 4, 2, 2, 1, 1]

要绘制,使用 matplotlib,arr1 作为 y,arr2 作为 x。

我怎样才能做到这一点?

PS:抱歉英语不好。 (;

【问题讨论】:

  • 这是一张地图,而不是二维数组。您正在寻找keys()values()

标签: python arrays matplotlib


【解决方案1】:

这是你可以做的:

import matplotlib.pylab as plt
d = {4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}
lists = sorted(d.items()) # sorted by key, return a list of tuples
x, y = zip(*lists) # unpack a list of pairs into two tuples

plt.plot(x, y)
plt.show()

输出 :

【讨论】:

    【解决方案2】:

    您可以使用:

    d = {4: 6, 6: 2, 1: 2, 3: 7, 5: 4, 9: 1, 2: 3, 7: 2, 8: 1}
    
    arr1, arr2 = map(list, zip(*d.items()))
    

    输出:

    arr1
    # [1, 2, 3, 4, 5, 6, 7, 8, 9] 
    
    arr2
    # [2, 3, 7, 6, 4, 2, 2, 1, 1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2015-07-16
      • 1970-01-01
      • 2016-02-18
      • 2018-02-19
      相关资源
      最近更新 更多