为了账号安全,请及时绑定邮箱和手机立即绑定

使用多列 Pandas 数据框生成 numpy 数组

使用多列 Pandas 数据框生成 numpy 数组

慕后森 2021-08-11 17:26:39
我在 Windows 10 上使用 python 3.6。我有一个包含大约 100,000 行的 Pandas 数据框。从这个数据框中,我需要生成四个 numpy 数组。我的数据框的前 5 行如下所示A          B      x      UB1     LB1     UB2    LB20.2134  0.7866  0.2237  0.1567  0.0133  1.0499  0.1270.24735 0.75265 0.0881  0.5905  0.422   1.4715  0.51850.0125  0.9875  0.1501  1.3721  0.5007  2.0866  2.06170.8365  0.1635  0.0948  1.9463  1.0854  2.4655  1.96440.1234  0.8766  0.0415  2.7903  2.2602  3.5192  3.2828B 列是(1-A 列),实际上 B 列不在我的数据框中。我添加了它来解释我的问题从这个数据框中,我需要生成三个数组。我的阵列看起来像My array c looks like array([-0.2134, -0.7866,-0.24735, -0.75265,-0.0125, -0.9875,-0.8365, -0.1635,-0.1234, -0.8766],dtype=float32)其中第一个元素是 A 列的第一行加上负号,类似地,第二个元素取自 B 列的第一行,第三个元素取自 A 列的第二行,第四个元素是 B 列的第二行等我的第二个数组UB 看起来像array([ 0.2237, 0.0881, 0.1501, 0.0948, 0.0415, 0.2237],dtype=float32)其中元素是 X 列的行。我的第三个数组边界看起来像   array([[0.0133 , 0.1567],       [0.127 , 1.0499],       [0.422 , 0.5905],       [0.5185 , 1.4715],       [0.5007 , 1.3721],       [2.0617 , 2.0866],       [1.0854 , 1.9463],       [1.9644 , 2.4655],       [2.2602 , 2.7903],       [3.2828 , 3.5192]])其中 bounds[0][0] 是 LB1 的第一行,bounds[0][1] 是 UB1 的第一行。bounds[1][0] 是 LB2 的第一行,bounds [1][1] 是 UB2 的第一行。再次 bounds[2][0] 是 LB1 的第二行等等。我的第四个阵列看起来像array([[-1,  1,  0,  0,  0,  0,  0,  0,  0,  0],       [ 0,  0, -1,  1,  0,  0,  0,  0,  0,  0],       [ 0,  0,  0,  0, -1,  1,  0,  0,  0,  0],       [ 0,  0,  0,  0,  0,  0, -1,  1,  0,  0],       [ 0,  0,  0,  0,  0,  0,  0,  0, -1,  1]])它包含与数据框行和列=2*数据框行相同的行数。您能告诉我 100,000 行记录的生成这些数组的有效方法是什么吗
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信