我想使用numpy在edges
中用nodes
代表nodes = np.array('A B C D E'.split())
edges = np.array([['A', 'B'],
['A', 'C'],
['B', 'C'],
['B', 'E'],
['D', 'E']])
中的字符串。
np.array([[0, 1],
[0, 2],
[1, 2],
[1, 4],
[3, 4]])
所需输出
dict
明显的非优化方法是创建dict
并将字符串替换为import json
import requests
url = 'http://localhost:8086/write?db=mydb'
files ={'file' : open('sample.json', 'rb')}
r = requests.post(url, files=files)
print(r.text)
的值。
答案 0 :(得分:2)
您可以使用layout_collapseParallaxMultiplier
-
np.searchsorted(nodes,edges)
示例运行 -
In [17]: nodes
Out[17]:
array(['A', 'B', 'C', 'D', 'E'],
dtype='|S1')
In [18]: edges
Out[18]:
array([['A', 'B'],
['A', 'C'],
['B', 'C'],
['B', 'E'],
['D', 'E']],
dtype='|S1')
In [19]: np.searchsorted(nodes,edges)
Out[19]:
array([[0, 1],
[0, 2],
[1, 2],
[1, 4],
[3, 4]])
如果nodes
没有排序,我们需要使用sorter
参数,如示例运行的修改版本所示 -
In [44]: nodes
Out[44]:
array(['E', 'D', 'C', 'B', 'A'],
dtype='|S1')
In [45]: edges
Out[45]:
array([['A', 'B'],
['A', 'C'],
['B', 'C'],
['B', 'E'],
['D', 'E']],
dtype='|S1')
In [46]: sidx = nodes.argsort()
In [47]: sidx[np.searchsorted(nodes,edges,sorter=sidx)]
Out[47]:
array([[4, 3],
[4, 2],
[3, 2],
[3, 0],
[1, 0]])