繁体   English   中英

连接df列中的列表

[英]Concatenate lists from df column

我有一个看起来像这样的数据框:

import pandas as pd
df = pd.DataFrame({'id': [1,2,3], 'tokens': [["anna","brings","work","life"], ["apples","bananas"], ["sun","trial","once"]]})

我想要做的就是将列中列表中的所有字符串简单地连接到一个列表中,以便得到的列表如下所示:

result_list = ["anna","brings","work","life", "apples","bananas","sun","trial","once"]

我尝试遍历每一行,然后遍历列表中的每个元素:

result_list = [item for sublist in df.tokens for item in sublist]

但是我得到的是列表的每个列表符号。 我想念什么?

使用chain.from_iterable

import pandas as pd

from itertools import chain

df = pd.DataFrame(
    {'id': [1, 2, 3], 'tokens': [["anna", "brings", "work", "life"], ["apples", "bananas"], ["sun", "trial", "once"]]})

result = list(chain.from_iterable(df.tokens))
print(result)
your_list = []
for i in range (0, len(df)):
    for j in range (0, len(df['tokens'][i])):
       your_list.append(df['tokens'][i][j])
your_list

您可以使用嵌套列表推导。

>>> [x for sub in df['tokens'] for x in sub]                                
['anna', 'brings', 'work', 'life', 'apples', 'bananas', 'sun', 'trial', 'once']

编辑:这相当于您的尝试,我错过了。 你所做的应该很好。

a = []
[a.extend(i) for i in df.tokens]
print(a)

输出:

['anna', 'brings', 'work', 'life', 'apples', 'bananas', 'sun', 'trial', 'once']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM