4 回答

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
您將需要apply
一個(gè)函數(shù)來(lái)將元組連接到單個(gè)字符串。
df['all_words'] = df.words.apply(lambda x: ', '.join(', '.join([y[0]] * y[1]) for y in x))

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以這樣做df.apply()
將熊貓導(dǎo)入為 pd
df = pd.DataFrame({'words' : [[('replacement', 1), ('shaver', 2)], [('filter', 2), ('purifier', 1), ('please', 2)]]})
def word_to_words(row):
words_string = ''
for tuple_set in row['words']:
words_string += (tuple_set[0] + ', ') * tuple_set[1]
return(words_string)
df['all_words'] = df.apply(word_to_words, axis=1)

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以使用apply:
df = pd.DataFrame(data=[[[('filter', 2), ('purifier', 1), ('please', 2)]]], columns=['words'])
result = df.words.apply(lambda x: ', '.join(word for word, count in x for _ in range(count)))
print(result)
輸出
0 filter, filter, purifier, please, please
Name: words, dtype: object

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
它只是解決 thorug 循環(huán)及其工作原理。如果單詞是多個(gè)元組的列表
words = [[('replacement', 2), ('shaver', 2) ], [('filters', 2), ('purifier',1), ('plears', 3) ]]
Loop = words[0] #here you use indexing of words[0] or [1] both
Result = ()
for val in Loop:
v = tuple([val[0] * 1 for _ in range(val[1])])
Result = Result + v
Print(Result)
添加回答
舉報(bào)