我有一个像这样的numpy.ndarray:
CREATE TRIGGER T_TableA_I
on users
after insert
as
set nocount on
insert into results (userID)
select u.UserID
from
users u
inner join
results r
on
u.UserID = r.UserID
我试图通过执行以下操作转换为列表:
X = array([1., 1., 1., 1., 1., 1., 1., 2., 1., 1.])
给出了这样的输出
samples = X.reshape(len(X)).tolist()
试图将以上内容转换为单独的列表。做到了
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0]
再次给出了这样的输出:
new_list = [samples[i] for i in range(10)]
im试图获得这样的输出:
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 1.0, 1.0]
有人可以帮我吗?
答案 0 :(得分:4)
尝试一下:
替换您的代码:
new_list = [samples[i] for i in range(10)]
收件人
new_list = [[samples[i]] for i in range(10)]
O / P:
[[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [2.0], [1.0], [1.0]]
答案 1 :(得分:3)
使用None
或np.newaxis
向numpy数组添加辅助轴,然后使用ndarray.tolist
,这将直接为您提供嵌套列表:
X[:,None].tolist()
# [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [2.0], [1.0], [1.0]]
您使用np.reshape
的方法不起作用,因为您没有添加任何轴,您需要:
X.reshape(len(X), 1).tolist()
答案 2 :(得分:0)
samples [i]应该在列表中:
new_list = [[samples[i]] for i in range(10)]