【问题标题】:Array manipulation to two series数组操作到两个系列
【发布时间】:2021-05-24 21:38:52
【问题描述】:

我有一个如下所示的数组:

array([[ 0.        ,  0.        ],
       [ 0.        ,  0.        ],
       [ 0.        ,  0.        ],
       [ 2.94642408, 25.7209404 ],
       [ 0.79932443,  6.12162428],
       [ 1.89396598, 14.46259769]])

我想将其更改为两个系列,其中第一个系列的元素位于左侧,第二个系列的元素位于右侧。理想情况下,最后我想将结果系列添加到数据框中。

我该怎么做?

【问题讨论】:

    标签: python arrays pandas numpy jupyter


    【解决方案1】:

    使用切片和pd.Series构造函数:

    s1 = pd.Series(a[:, 0])
    s2 = pd.Series(a[:, 1])
    

    【讨论】:

      【解决方案2】:

      如果您真的想要系列,请选择 j1-lee 的答案。

      由于您提到您最终需要一个数据框,因此您实际上并不需要系列的中间步骤。

      如果你只是把你的数组(我们称之为arr)如下

      pd.DataFrame(arr, columns=['series_1','series_2'])
      
         series_1   series_2
      0  0.000000   0.000000
      1  0.000000   0.000000
      2  0.000000   0.000000
      3  2.946424  25.720940
      4  0.799324   6.121624
      5  1.893966  14.462598
      

      【讨论】:

      • 抱歉,今天的投票用完了。虚拟 +1
      • 两个答案都有效。就我而言,我想将系列添加到现有数据框中。所以我只是说来自另一个答案的代码等于该数据帧上的一列。不过,您的答案同样有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2021-09-05
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多