Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从df列连接列表_Python_Python 3.x_List - Fatal编程技术网

Python 从df列连接列表

Python 从df列连接列表,python,python-3.x,list,Python,Python 3.x,List,我有一个如下所示的数据框: 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"] 我

我有一个如下所示的数据框:

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"]
我试图做的只是将列中列表中的所有字符串连接到一个列表中,以便生成的列表如下所示:

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]
但我得到的是一个列表,每个列表的符号。 我缺少什么?

使用:

使用:


可以使用嵌套列表

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

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

您可以使用嵌套列表

>>> [x for sub in df['tokens'] for x in sub]                                
['anna', 'brings', 'work', 'life', 'apples', 'bananas', 'sun', 'trial', 'once']
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
编辑:这相当于你的尝试,我错过了。你所做的应该很好

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
输出:

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

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

你的解决方案对我很有效。它给出了
['anna'、'带来'、'工作'、'生活'、'苹果'、'香蕉'、'太阳'、'试用'、'一次']
@jpp证实了这一点。你的解决方案对我来说效果很好。它给出了
['anna'、'带来'、'工作'、'生活'、'苹果'、'香蕉'、'太阳'、'试用'、'一次']
@jpp确认了同样的情况。难道
列表(chain.from_iterable(df.tokens))
不已经做了吗?@hochl或者干脆
[*chain(*df.tokens)]
因为我们在Python3中,而且我们正在即时消费代币,因此,我们也不需要从_iterable中对
进行惰性评估。如果
列表(chain.from iterable(df.tokens))
已经完成了这项工作吗?@hochl或只是
[*chain(*df.tokens)]
,因为我们在Python3中,而且我们正在立即消耗令牌,所以我们也不需要从_iterable
进行惰性评估。