列列表到字符串中

2024-06-28 11:16:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集如下所示:


id  keyPhrases
0   [word1, word2]
1   [word4, word 5 and 6, word7]
2   [word8, etc, etc

“关键字”中的每个值都是一个列表。 我想将每个列表展开为新行(字符串)

“id”列现在不重要。你知道吗

已经试过了测向值,来自\u记录等

期望值:


keyPhrases
word1
word2
word3
word4


Tags: and数据字符串id列表记录etc关键字
3条回答

可以将itertools.chain与数据帧列选择结合使用:

import itertools

df = pd.DataFrame({
    'keyPhrases': [
        ['word1', 'word2'],
        ['word4', 'word5', 'word7'],
        ['word8', 'word9']
    ],
    'id': [1,2,3]
})

for elem in itertools.chain.from_iterable(df['keyPhrases'].values):
    print(elem)

将打印:

word1
word2
word4
word5
word7
word8
word9

一个有趣的方式,但不推荐

df.keyPhrases.sum()
Out[520]: ['word1', 'word2', 'word4', 'word5', 'word7', 'word8', 'word9']

^{}

np.concatenate(df.keyPhrases) #data courtesy vurmux

array(['word1', 'word2', 'word4', 'word5', 'word7', 'word8', 'word9'],
  dtype='<U5')

另一种方式:

import functools
import operator
functools.reduce(operator.iadd, df.keyPhrases, [])
#['word1', 'word2', 'word4', 'word5', 'word7', 'word8', 'word9']

相关问题 更多 >