我正在努力学习推荐系统。我已经将关联规则导入到我的工作表中,但是前面的元素和结果值被格式化为字符串,我需要将它们转换为python中的数据类型frozenset。如果一个字符串类似于"frozenset({3048, 3046})",我需要将它转换为(3048,3046),我该如何做呢?
这是示例代码。
import pandas as pd
frozen_df = [{"antecedents" : "frozenset({3048, 3046})","consequents" : "frozenset({10})"},
{"antecedents" : "frozenset({3504, 3507})","consequents" : "frozenset({3048, 85})"}]
frozen_df = pd.DataFrame(frozen_df)
frozen_df.dtypes发布于 2022-04-16 11:11:13
你当然可以把它们分开,例如使用
def to_frozenset(x):
return frozenset(map(int, x.split("{")[1].split("}")[0].split(",")))
frozen_df = frozen_df.applymap(to_frozenset)但是,请注意,frozen_df.dtypes仍然是object,因为在Pandas中没有"frozenset dtype“。相反,查看单个元素(frozen_df.iloc[0, 0])将证明这些元素确实是冻结的。
https://stackoverflow.com/questions/71893051
复制相似问题