![](/img/trans.png)
[英]Pandas df to dictionary with values as python lists aggregated from a df column
[英]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]
但是我得到的是列表的每个列表符号。 我想念什么?
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.