使用python生成单个和多个蜇的组合?

时间:2018-04-05 13:30:39

标签: python-3.x nlp

我的数据集如下。

col1                      col2
cat rat                   Lion
children, geese,pantss    man

这里我想将输入作为col1并生成所有可能的单数和复数col1值的组合,这些值是名词,否则保持该字符串不变并将这些组合附加到该特定输入字符串下面并放入/按原样重复相应的col2值。

我想要输出如下

col1                        col2
cat rat                     Lion
cat rats                    Lion
cats rat                    Lion
cats rats                   Lion

children, geese, pantss      man
children, geese, pants       man
children, goose, pantss      man
child, geese,pantss          man
child, goose,pantss          man
child, geese,pants           man

我一直在为col1的单个值尝试下面的代码但是我无法多次迭代给定输入以生成可能的组合。你能不能请任何人帮助我如何实现输出。有没有python库可用。

from textblob import TextBlob
blob = TextBlob(df['col1'].ix[0])


sentence = blob.sentences[0]
print(sentence.tags)
print(len(sentence.tags))

main_lst = []

lst = []


for word, pos in sentence.tags:
    print(word,pos)      

    if pos == 'NNS':
        print(word.singularize())
        lst.append(word.singularize())

    elif pos == 'NN':
        lst.append(word.pluralize())
        print(lst)

    else:
        lst.append(word)

main_lst.append(lst)


df = df.append(pd.Series(main_lst, index=['c1']),ignore_index=True)

df['c1'].ix[1] = lst
df['c2'].ix[1] = df['Target'].ix[0]

谢谢, NIRANJAN

0 个答案:

没有答案