[使用Python,我正在尝试创建长度为4和5个字符的词干列表,以便在类似Scrabble的游戏中使用。从我收集到的信息来看,我应该使用itertools,但是我仍然坚持将其与Pandas结合使用(我有一个包含所有单词的csv文件)。
我尝试使用在以前的线程中发现的内容来使用Pandas和Itertools,并提出了以下返回错误的内容:
from itertools import chain, combinations
import pandas as pd
def powerset(iterable):
"powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
s = list(iterable)
return chain.from_iterable(combinations(s, r) for r in range(4))
data = {'A':['hammers','hampering','hamburger']}
df = pd.DataFrame(data)
df['subset 4ch'] = df.apply(lambda row : powerset(row['A']), axis=1)
我在“锤子”子集列中的期望输出:嗯,弹药,毫米等,等等,嗯,等。
我该如何实现?
最终产品将是每个可能的词干及其出现的词的等级。我可以看到我的功能是创建元组,这是我最想要的最终产品吗?
谢谢您!
以这种方式尝试:
def powerset(iterable):
"powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
s = list(iterable)
return [''.join(i) for i in chain.from_iterable(combinations(s, r) for r in range(4, 5))]
df['subset 4ch'] = df.apply(lambda row : powerset(row['A']), axis=1)
df