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
进行惰性评估。