【问题标题】:How to reshape pandas dataframe to ordered arrays如何将熊猫数据框重塑为有序数组
【发布时间】:2022-11-03 01:34:07
【问题描述】:

我正在尝试将长格式数据塞进结构化格式。想将 pandas 数据框熔化/重塑为可与网格/体积绘图方法一起使用的数组,而不必强行使用它。没有想出任何干净的东西。有什么技巧吗?

样本数据:

df = pd.DataFrame({
    'xy':['x0y0','x0y1','x0y2','xn1y0','xn1y1','xn1y2','x1y0','x1y1','x1y2',],
    'x':[1,2,3,4,5,6,7,8,9,],
    'y':[11,12,13,14,15,16,17,18,19,],
    'val':['a','b','c','d','e','f','g','h','i',],
    })

期望的输出:

x = array([[4, 1, 7],
           [5, 2, 8],
           [6, 3, 9]])

xy = array([['xn1y0', 'x0y0', 'x1y0'],
            ['xn1y1', 'x1y1', 'x1y1'],
            ['xn1y2', 'x1y2', 'x1y2']])

【问题讨论】:

    标签: python pandas dataframe numpy


    【解决方案1】:

    您可以使用numpy.reshape 方法来重塑您的数组。为了使它们垂直,您可以使用transpose 方法。 例如:

    import numpy as np
    new_array = np.reshape(np.array(df["x"]), (3, 3)).transpose()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多