我试图用向量追加一个空数组。然而,无论我使用什么命令,结果都不是我想要的,因为结果是一个向量,我想要一个数组。以下是我的代码示例(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] 有人能帮助我吗?
答案 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]])