Python 使用映射将数据帧从数字转换为字符串
使用映射将数据帧从字符串转换为数字(作为ID),这样我可以在完成机器学习作业(需要数字值进行培训)后将数字值映射回字符串 我的数据框中有两列:-Python 使用映射将数据帧从数字转换为字符串,python,pandas,dataframe,lambda,Python,Pandas,Dataframe,Lambda,使用映射将数据帧从字符串转换为数字(作为ID),这样我可以在完成机器学习作业(需要数字值进行培训)后将数字值映射回字符串 我的数据框中有两列:- 存储库名称(需要转换的字符串) 星星数(数值,因此无需执行任何操作) 我想将字符串转换为ID,并需要映射这些ID以在将来使用它 注意:我的字符串是像freecodecamp这样的词,而不是字符串中的整数值。您可以使用ord()在python中进行这些转换。例如,要将name转换为ASCII字符代码,可以使用以下循环 name = "John" name
存储库名称
(需要转换的字符串)星星数
(数值,因此无需执行任何操作)注意:我的字符串是像
freecodecamp
这样的词,而不是字符串中的整数值。您可以使用ord()
在python中进行这些转换。例如,要将name
转换为ASCII字符代码,可以使用以下循环
name = "John"
nameascii = []
for c in name:
nameascii.append(ord(c))
print(nameascii)
要转换回字符,请使用char()
但是,如果您的模型是使用张量流构建的,
tf.string_to_number
函数可能更好(更快),因为转换可以同时完成,而上面的循环将按顺序运行 您可以在python中使用ord()
进行这些转换。例如,要将name
转换为ASCII字符代码,可以使用以下循环
name = "John"
nameascii = []
for c in name:
nameascii.append(ord(c))
print(nameascii)
def get_metadata(df, key, val):
#create a new column with index
df['index'] = df.index
if key == "Repository Name":
return {str(row[key]): row[val] for _, row in df.iterrows()}
else:
return {row[key]: row[val] for _, row in df.iterrows()}
emb2idx = get_metadata(dataframe, "index", "Repository Name")
要转换回字符,请使用char()
但是,如果您的模型是使用张量流构建的,tf.string_to_number
函数可能更好(更快),因为转换可以同时完成,而上面的循环将按顺序运行
def get_metadata(df, key, val):
#create a new column with index
df['index'] = df.index
if key == "Repository Name":
return {str(row[key]): row[val] for _, row in df.iterrows()}
else:
return {row[key]: row[val] for _, row in df.iterrows()}
emb2idx = get_metadata(dataframe, "index", "Repository Name")
您将获得索引(ID)和字符串(存储库名称)的字典,以便将来映射
将来,您将得到索引(ID)和字符串(存储库名称)的字典以进行映射。如果您的字符串来自countable,我建议使用一种热编码,或者您可以尝试用相应的ascii值替换字符串。因为我的工作是基于机器学习作业,这将导致培训中的大量开销。如果字符串来自countable,我建议使用一个热编码,或者您可以尝试用相应的ascii值替换字符串。由于我的工作是基于机器学习工作,这将导致培训中的大量开销。不错。谢谢,很好。谢谢