You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Pandas DataFrame转换为含字符串元素的列表而非列表的列表

解决嵌套列表转单层字符串列表的问题

没问题,我来帮你搞定这个转换!你现在得到的是嵌套列表(每个元素都是只含一个字符串的子列表),想要把它转成所有元素都是无方括号的字符串的单层列表,这里有几种简单高效的方法:

方法1:直接处理已有的嵌套列表(列表推导式)

这是最直观的方式,针对你已经得到的qwe列表,用列表推导式提取每个子列表的唯一元素:

flat_list = [item[0] for item in qwe]
print(flat_list)

针对你给出的样本输入,运行后会得到:

['SKP', 'SKP', 'SKP', ..., 'TRF', 'TSR', 'TSR']

方法2:在pandas阶段直接优化(更高效)

其实你可以避免生成嵌套列表的步骤,直接从pandas的Series中提取单层列表,省去后续转换的麻烦:
原来的代码里,你把flightsfromm列转成了DataFrame再取values.tolist(),这才生成了嵌套列表。改成直接提取Series并转列表:

import pandas as pd
flights = pd.read_csv("airportroutes.csv")
# 直接提取fromm列的Series,转成单层列表
flat_list = flights['fromm'].tolist()
print(flat_list)

这样一步就能得到你想要的结果,效率更高,代码也更简洁。

方法3:用numpy扁平化数组(备选方案)

如果你已经有了嵌套列表qwe,也可以借助numpy来扁平化:

import numpy as np
flat_list = np.array(qwe).flatten().tolist()

这种方法适合处理更复杂的嵌套结构,但对于你的场景来说,列表推导式或者直接从Series提取会更轻便。

内容的提问来源于stack exchange,提问作者user13714027

火山引擎 最新活动