假设我有一个5x3且全部为0的数组x = numpy.zeros([5,3])
。
[[0,0,1],
[0,1,0],
[1,0,0],
[0,1,0],
[0,0,1]]
我希望能够在每行的不同列索引中用1替换其中一些0。
例如,我正在寻找类似的东西
public void PollUsers()
{
while (true)
{
Thread.Sleep(2000);
lock(users_lock)
{
foreach(Socket user_socket in users)
{
if (!IsConnected(user_socket))
Console.WriteLine("user disconnected");
}
}
}
}
public bool IsConnected(Socket socket)
{
try
{
return !(socket.Poll(1, SelectMode.SelectRead) && socket.Available == 0);
}
catch (SocketException) { return false; }
}
我所知道的任何花哨的索引技术都会一举取代所有的0,或者在索引选择方面过于僵化。例如,我可以在每一行1到最后两列 - 基本上,我只能替换每行中相同列索引的值,但我想要我更改其列的列索引值因行而异。
答案 0 :(得分:1)
通过在Index Array中使用Multidimensional array,您可以将索引编入任意位置。
正如评论中提到的,你可以这样做:
x[np.arange(5), [2,1,0,1,2]] = 1