【问题标题】:How can I make a pandas dataframe out of multiple numpy arrays如何用多个 numpy 数组制作 pandas 数据框
【发布时间】:2018-03-13 18:20:22
【问题描述】:

我有 2 个如下数组,我想将它们转换为数据框列:

arr1 = np.array([2, 4, 6, 8])
arr2 = np.array([3, 6, 9, 12])
df_from_arr = pd.DataFrame(data=[arr1, arr2])
print(df_from_arr)

实际输出:

   0  1  2   3
0  2  4  6   8
1  3  6  9  12

预期输出:

   0  1 
0  2  4 
1  4  6
2  6  9
3  8  12 

我怎样才能得到预期的输出?

【问题讨论】:

    标签: python pandas numpy dataframe


    【解决方案1】:

    您也可以这样做:

    arr1 = np.array([2, 4, 6, 8])
    arr2 = np.array([3, 6, 9, 12])
    df_from_arr = pd.DataFrame({0:arr1,1:arr2})
    

    【讨论】:

      【解决方案2】:

      在末尾加T

      df_from_arr.T
      Out[418]: 
         0   1
      0  2   3
      1  4   6
      2  6   9
      3  8  12
      

      或者修改你的输入数组

      pd.DataFrame(np.hstack((arr1[:,None], arr2[:,None])))
      Out[426]: 
         0   1
      0  2   3
      1  4   6
      2  6   9
      3  8  12
      

      【讨论】:

        【解决方案3】:

        您可以转置 DataFrame。

        arr1 = np.array([2, 4, 6, 8])
        arr2 = np.array([3, 6, 9, 12])
        df_from_arr = pd.DataFrame(data=[arr1, arr2]).T
        print(df_from_arr)
        
           0   1
        0  2   3
        1  4   6
        2  6   9
        3  8  12
        

        【讨论】:

          猜你喜欢
          • 2016-06-10
          • 1970-01-01
          • 1970-01-01
          • 2014-03-23
          • 2021-12-10
          • 1970-01-01
          • 2013-09-09
          • 1970-01-01
          相关资源
          最近更新 更多