附加向量的空数组

时间:2018-03-03 14:53:09

标签: arrays python-3.x pandas numpy

我试图用向量追加一个空数组。然而,无论我使用什么命令,结果都不是我想要的,因为结果是一个向量,我想要一个数组。以下是我的代码示例(s是二进制数据数组):

import pandas as pd
import numpy as np
s=pd.read_csv('dane1.txt', header=None)
a=s.columns
a=len(a)
b=len(s)
Xi0=[]
i=0

for j in range (b):
    if (s[i][j]==0):
        z=[]
        for k in range(a):
            z.append(s[k][j])
        Xi0=np.append(Xi0,z,axis=0)

换句话说,我想要一个由z向量组成的数组:

[z
z
z] etc

我正在[z z z] 有人能帮助我吗?

2 个答案:

答案 0 :(得分:0)

似乎你只需要布尔索引:

arr = s.values
Xi0 = arr[arr[:, 0] == 0]
 print (Xi0)
[[0 1 0 1 0 1]
 [0 0 0 1 0 0]
 [0 0 0 0 1 0]
 [0 1 1 1 0 1]
 [0 1 0 0 1 1]
 [0 1 1 0 1 0]]

答案 1 :(得分:0)

根据您的代码,我认为您所需的输出是一个数组,其中包含从零开始的s行。如果这是真的,只需使用numpy

result = s.values[s.values[:, 0] == 0]
result
array([[0, 1, 0, 1, 0, 1],
       [0, 0, 0, 1, 0, 0],
       [0, 0, 0, 0, 1, 0],
       [0, 1, 1, 1, 0, 1],
       [0, 1, 0, 0, 1, 1],
       [0, 1, 1, 0, 1, 0]])