如何将嵌套列表(list of lists)转换为指定格式的DataFrame?
问题:将嵌套列表转换为指定格式的DataFrame
给定嵌套列表:
list1=[['remote attackers', 'attacker', 'malicious code', 'malicious user', 'attack'], ['greenbone vulnerability manager', 'web application abuses', 'web management interfaces', 'application'], ['ftp servers', 'server', 'tcp', 'application', 'rpc']]
需要转换为如下格式的DataFrame:
clusters 0 remote attackers,attacker,malicious code,malicious user,attack 1 greenbone vulnerability manager, web application abuses, web management interfaces, application 2 ftp servers,server,tcp,application,rpc
尝试过扁平化列表和遍历追加到DataFrame均未得到预期结果,求解决办法。
解决方案
先将每个子列表的元素用逗号拼接成单个字符串,再用这些字符串创建DataFrame即可,具体代码如下:
import pandas as pd list1=[['remote attackers', 'attacker', 'malicious code', 'malicious user', 'attack'], ['greenbone vulnerability manager', 'web application abuses', 'web management interfaces', 'application'], ['ftp servers', 'server', 'tcp', 'application', 'rpc']] # 把每个子列表转为逗号分隔的字符串 formatted_data = [', '.join(sublist) for sublist in list1] # 生成目标DataFrame df = pd.DataFrame(formatted_data, columns=['clusters']) print(df)
这段代码的核心是先处理嵌套列表的每个子项,将其合并为单一字符串,再作为DataFrame的单列数据,避免直接传入嵌套列表生成多列的问题。
内容的提问来源于stack exchange,提问作者xavi
相关产品推荐
相关产品推荐

