我有一个 numpy 数组,其中包含前 2 个标签:
n = [['20011' '20048']
['20011' '20048']
['20011' '20048']
['20011' '20048']]
Run Code Online (Sandbox Code Playgroud)
我想以相反的顺序获取它们:
[['20048' '20011']
['20048' '20011']
['20048' '20011']]
Run Code Online (Sandbox Code Playgroud)
我怎样才能在保持格式不变的情况下做到这一点?
到目前为止的代码:
n = model1.classes_[order[:,-5:]]
print(n)
r = [p[::-1] for p in n]
print(r)
Run Code Online (Sandbox Code Playgroud)
输出:
[array(['20048', '20011'],
dtype='|S5'), array(['20048', '20011'],
dtype='|S5'), array(['20048', '20011'],
dtype='|S5'), array(['20048', '20011'],
dtype='|S5')]
Run Code Online (Sandbox Code Playgroud)
需要尝试删除dtypes并仅保留反转数组。
您的列表似乎缺少逗号,因此实际上每个列表都有一个字符串,但如果您想修改原始子列表,您可以就地执行此操作:list.reverse
for sub in lists:
sub.reverse()
Run Code Online (Sandbox Code Playgroud)
您实际上有一个 numpy 数组,因此假设它的格式正确,您可以:
In [50]: arr
Out[50]:
array([['20015', '20013', '20044', '20001', '20002'],
['20002', '20015', '20001', '20013', '20070']],
dtype='|S5')
In [51]: arr[:,::-1]
Out[51]:
array([['20002', '20001', '20044', '20013', '20015'],
['20070', '20013', '20001', '20015', '20002']],
dtype='|S5')
Run Code Online (Sandbox Code Playgroud)
要保存到文件,例如:
In [57]: arr[:,::-1].tofile("out.txt",sep=",")
In [58]: cat out.txt
20002,20001,20044,20013,20015,20070,20013,20001,20015,20002
Run Code Online (Sandbox Code Playgroud)
如果您想要每行保存一行:
In [94]: np.savetxt("out.txt",arr[:,::-1],fmt="%s")
In [95]: cat out.txt
20002 20001 20044 20013 20015
20070 20013 20001 20015 20002
Run Code Online (Sandbox Code Playgroud)