我需要从Python中的列表生成2元组,这样,在元组(a,b)
,a!=b
中,如果已生成元组(a,b)
,则跳过生成{ {1}}。
这是我写的东西。它有助于达到目的。
但是,当它在大熊猫(b,a)
中运行时,运行需要一些时间。
dataframe
我想知道是否有更快的方法来解决问题。
提前致谢!!
更新
我尝试了@ThalishSajeed的解决方案。我将它包含在一个函数中,并且该函数在一个单词列表中作为输入完美地工作。但是,当我尝试在包含单词列表的pandas def tuplize(word_list):
tuple_list = []
if len(word_list) == 1:
return None
else:
for i in range(len(word_list)):
for j in range(i+1, len(word_list)):
a = tuple([word_list[i], word_list[j]])
tuple_list.append(a)
return tuple_list
上应用它时。
这是我的功能,
Series
我传递单个列表(def tuplize_faster(word_list):
if len(word_list) <= 1:
return None
else:
ret_object = itertools.combinations(word_list, 2)
return [tuple(i) for i in ret_object]
)的结果是,
tuplize_faster(['Zero', 'rating', 'worst', 'service'])
在包含单词列表
的pandas[('Zero', 'rating'),
('Zero', 'worst'),
('Zero', 'service'),
('rating', 'worst'),
('rating', 'service'),
('worst', 'service')]
上应用相同的功能
Series
给出了这个结果。
df_preprocessed['tuples'] = df_preprocessed.lemma_corrected.apply(lambda x: tuplize_faster(x))
我使用 [('[', "'"),
('[', 'Z'),
('[', 'e'),
('[', 'r'),
('[', 'o'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 'r'),
('[', 'a'),
('[', 't'),
('[', 'i'),
('[', 'n'),
('[', 't'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 'w'),
('[', 'o'),
('[', 'r'),
('[', 's'),
('[', 't'),
('[', "'"),
('[', ','),
('[', ' '),
('[', "'"),
('[', 's'),
('[', 'e'),
('[', 'r'),
('[', 'v'),
('[', 'i'),
('[', 'c'),
('[', 'e'),
('[', "'"),
('[', ']'),
("'", 'Z'),
("'", 'e'),
("'", 'r'),
("'", 'o'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('Z', 'e'),
('Z', 'r'),
('Z', 'o'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 'r'),
('Z', 'a'),
('Z', 't'),
('Z', 'i'),
('Z', 'n'),
('Z', 't'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 'w'),
('Z', 'o'),
('Z', 'r'),
('Z', 's'),
('Z', 't'),
('Z', "'"),
('Z', ','),
('Z', ' '),
('Z', "'"),
('Z', 's'),
('Z', 'e'),
('Z', 'r'),
('Z', 'v'),
('Z', 'i'),
('Z', 'c'),
('Z', 'e'),
('Z', "'"),
('Z', ']'),
('e', 'r'),
('e', 'o'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 'r'),
('e', 'a'),
('e', 't'),
('e', 'i'),
('e', 'n'),
('e', 't'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 'w'),
('e', 'o'),
('e', 'r'),
('e', 's'),
('e', 't'),
('e', "'"),
('e', ','),
('e', ' '),
('e', "'"),
('e', 's'),
('e', 'e'),
('e', 'r'),
('e', 'v'),
('e', 'i'),
('e', 'c'),
('e', 'e'),
('e', "'"),
('e', ']'),
('r', 'o'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'r'),
('r', 'a'),
('r', 't'),
('r', 'i'),
('r', 'n'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'w'),
('r', 'o'),
('r', 'r'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 'r'),
('o', 'a'),
('o', 't'),
('o', 'i'),
('o', 'n'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 'w'),
('o', 'o'),
('o', 'r'),
('o', 's'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 's'),
('o', 'e'),
('o', 'r'),
('o', 'v'),
('o', 'i'),
('o', 'c'),
('o', 'e'),
('o', "'"),
('o', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 'r'),
(',', 'a'),
(',', 't'),
(',', 'i'),
(',', 'n'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 'w'),
(',', 'o'),
(',', 'r'),
(',', 's'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 'r'),
(' ', 'a'),
(' ', 't'),
(' ', 'i'),
(' ', 'n'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 'w'),
(' ', 'o'),
(' ', 'r'),
(' ', 's'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 'r'),
("'", 'a'),
("'", 't'),
("'", 'i'),
("'", 'n'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('r', 'a'),
('r', 't'),
('r', 'i'),
('r', 'n'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 'w'),
('r', 'o'),
('r', 'r'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('a', 't'),
('a', 'i'),
('a', 'n'),
('a', 't'),
('a', "'"),
('a', ','),
('a', ' '),
('a', "'"),
('a', 'w'),
('a', 'o'),
('a', 'r'),
('a', 's'),
('a', 't'),
('a', "'"),
('a', ','),
('a', ' '),
('a', "'"),
('a', 's'),
('a', 'e'),
('a', 'r'),
('a', 'v'),
('a', 'i'),
('a', 'c'),
('a', 'e'),
('a', "'"),
('a', ']'),
('t', 'i'),
('t', 'n'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 'w'),
('t', 'o'),
('t', 'r'),
('t', 's'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
('i', 'n'),
('i', 't'),
('i', "'"),
('i', ','),
('i', ' '),
('i', "'"),
('i', 'w'),
('i', 'o'),
('i', 'r'),
('i', 's'),
('i', 't'),
('i', "'"),
('i', ','),
('i', ' '),
('i', "'"),
('i', 's'),
('i', 'e'),
('i', 'r'),
('i', 'v'),
('i', 'i'),
('i', 'c'),
('i', 'e'),
('i', "'"),
('i', ']'),
('n', 't'),
('n', "'"),
('n', ','),
('n', ' '),
('n', "'"),
('n', 'w'),
('n', 'o'),
('n', 'r'),
('n', 's'),
('n', 't'),
('n', "'"),
('n', ','),
('n', ' '),
('n', "'"),
('n', 's'),
('n', 'e'),
('n', 'r'),
('n', 'v'),
('n', 'i'),
('n', 'c'),
('n', 'e'),
('n', "'"),
('n', ']'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 'w'),
('t', 'o'),
('t', 'r'),
('t', 's'),
('t', 't'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 'w'),
(',', 'o'),
(',', 'r'),
(',', 's'),
(',', 't'),
(',', "'"),
(',', ','),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 'w'),
(' ', 'o'),
(' ', 'r'),
(' ', 's'),
(' ', 't'),
(' ', "'"),
(' ', ','),
(' ', ' '),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 'w'),
("'", 'o'),
("'", 'r'),
("'", 's'),
("'", 't'),
("'", "'"),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('w', 'o'),
('w', 'r'),
('w', 's'),
('w', 't'),
('w', "'"),
('w', ','),
('w', ' '),
('w', "'"),
('w', 's'),
('w', 'e'),
('w', 'r'),
('w', 'v'),
('w', 'i'),
('w', 'c'),
('w', 'e'),
('w', "'"),
('w', ']'),
('o', 'r'),
('o', 's'),
('o', 't'),
('o', "'"),
('o', ','),
('o', ' '),
('o', "'"),
('o', 's'),
('o', 'e'),
('o', 'r'),
('o', 'v'),
('o', 'i'),
('o', 'c'),
('o', 'e'),
('o', "'"),
('o', ']'),
('r', 's'),
('r', 't'),
('r', "'"),
('r', ','),
('r', ' '),
('r', "'"),
('r', 's'),
('r', 'e'),
('r', 'r'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('s', 't'),
('s', "'"),
('s', ','),
('s', ' '),
('s', "'"),
('s', 's'),
('s', 'e'),
('s', 'r'),
('s', 'v'),
('s', 'i'),
('s', 'c'),
('s', 'e'),
('s', "'"),
('s', ']'),
('t', "'"),
('t', ','),
('t', ' '),
('t', "'"),
('t', 's'),
('t', 'e'),
('t', 'r'),
('t', 'v'),
('t', 'i'),
('t', 'c'),
('t', 'e'),
('t', "'"),
('t', ']'),
("'", ','),
("'", ' '),
("'", "'"),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
(',', ' '),
(',', "'"),
(',', 's'),
(',', 'e'),
(',', 'r'),
(',', 'v'),
(',', 'i'),
(',', 'c'),
(',', 'e'),
(',', "'"),
(',', ']'),
(' ', "'"),
(' ', 's'),
(' ', 'e'),
(' ', 'r'),
(' ', 'v'),
(' ', 'i'),
(' ', 'c'),
(' ', 'e'),
(' ', "'"),
(' ', ']'),
("'", 's'),
("'", 'e'),
("'", 'r'),
("'", 'v'),
("'", 'i'),
("'", 'c'),
("'", 'e'),
("'", "'"),
("'", ']'),
('s', 'e'),
('s', 'r'),
('s', 'v'),
('s', 'i'),
('s', 'c'),
('s', 'e'),
('s', "'"),
('s', ']'),
('e', 'r'),
('e', 'v'),
('e', 'i'),
('e', 'c'),
('e', 'e'),
('e', "'"),
('e', ']'),
('r', 'v'),
('r', 'i'),
('r', 'c'),
('r', 'e'),
('r', "'"),
('r', ']'),
('v', 'i'),
('v', 'c'),
('v', 'e'),
('v', "'"),
('v', ']'),
('i', 'c'),
('i', 'e'),
('i', "'"),
('i', ']'),
('c', 'e'),
('c', "'"),
('c', ']'),
('e', "'"),
('e', ']'),
("'", ']')]
的方式有问题吗?
答案 0 :(得分:7)
你试过itertools吗? link to documentation
retObject = itertools.combinations(word_list, 2)
因为你想要2个元组
编辑 - 返回列表
s = [tuple(i) for i in retObject]
编辑表明该方法适用于Pandas系列。
a = pd.Series(['Zero', 'rating', 'worst', 'service'])
tuplize_faster(a)
输出
[('Zero', 'rating'),
('Zero', 'worst'),
('Zero', 'service'),
('rating', 'worst'),
('rating', 'service'),
('worst', 'service')]