在python中浮动的字母数字组合
我正在计算节点ID的特性,这些特性是字母和数字的组合。作战需求文件将不起作用,是否有其他的解决办法 我的名单是:在python中浮动的字母数字组合,python,pandas,networkx,stellargraph,Python,Pandas,Networkx,Stellargraph,我正在计算节点ID的特性,这些特性是字母和数字的组合。作战需求文件将不起作用,是否有其他的解决办法 我的名单是: def computefeatures(node_id): return [ord(node_id), len(node_id)] 如果您的节点由一个字母后跟一个整数组成,并且您只需要将它们映射到浮点数,那么可以通过多种方式实现 一种方法是将节点id转换为浮点方法hex返回的十六进制字符串(例如,(3.14).hex()=“0x1.91eb851eb851fp+1”)。取字
def computefeatures(node_id):
return [ord(node_id), len(node_id)]
如果您的节点由一个字母后跟一个整数组成,并且您只需要将它们映射到浮点数,那么可以通过多种方式实现 一种方法是将节点id转换为浮点方法
hex
返回的十六进制字符串(例如,(3.14).hex()=“0x1.91eb851eb851fp+1”
)。取字母的ord
,将其转换为十六进制字符串,并将其用作尾数的小数部分。取整数部分作为指数。创建字符串后,使用class方法float.fromhex
将其映射到一个float:
ln0
Out[88]:
0 C1
1 C2
2 C3
3 C4
4 C5
5 C6
6 G1
7 I1
8 O1
9 P1
10 P2
11 P3
12 R1
13 R2
14 R3
15 R4
16 R5
17 R6
dtype: object
比如说,
def compute_feature(node_id):
n = ord(node_id[0])
i = node_id[1:]
hex_string = '0x1.' + hex(n)[2:] + 'p+' + i
return float.fromhex(hex_string)
这种方法有一个很好的特性,即您可以使用float方法
hex
和少量解析来从float中恢复节点id。不清楚您试图做什么。输入是什么?输出应该是什么?第一个问题是,您似乎正在将类似“C1”的字符串传递给“ord”函数。ord()接受字符(单个字符),而不是字符串。除此之外,您还需要为任何有意义的帮助道歉提供更多信息,每个字母数字组合都是图中节点的标签。我正在尝试使用节点id计算一个简单的节点特性。需要一个浮点值。您是否正在尝试将节点id的哈希值设置为任意浮点值?
>>> compute_feature('C1')
2.5234375