提问人:omi 提问时间:11/4/2022 最后编辑:omi 更新时间:11/5/2022 访问量:87
如何通过将列的字符串列表与python组合来创建列表列表?
How to create a list of lists by combining lists of strings of a column with python?
问:
我的数据集中有一列,由如下所示的字符串列表组成:
列
['平板电脑', '手机', '人']
['人', '房子']
. . .
['人', '计算机']
['电脑', '笔记本电脑']
如何获取包含此列元素的列表列表?我想要这样的输出:
[['平板电脑', '手机', '人'],['人', '房子'],. . .,['人', '电脑'],['电脑', '笔记本电脑']]
答:
0赞
Faisal Nazik
11/4/2022
#1
如果你喜欢df
column
0 ['tablet', 'mobile, man']
1 ['people', 'house']
2 ['people, 'computer']
3 ['computer', 'laptop']
您可以通过调用列来获取列表tolist()
df["column"].tolist()
输出:
[['tablet', 'mobile', 'man'], ['people', 'house'], ['people', 'computer'], ['computer', 'laptop']]
评论
0赞
omi
11/4/2022
不,正如我在问题中所述,每列的项目都是字符串格式(如“tablet”)。所以,这个解决方案无济于事。
0赞
Faisal Nazik
11/4/2022
你说字符串列表,比如 ['tablet', 'mobile', 'man'],那么我想这应该可以工作。你试过了吗?如果它不起作用,会出现任何错误??
0赞
omi
11/4/2022
是的。我试过了。它给了我这样的输出:[“['平板电脑', '移动', '人']”, “['人', '房子']”, “['人', '电脑']”, “['电脑', '笔记本电脑']”]
2赞
jezrael
11/4/2022
#2
在列表推导中使用ast.literal_eval
转换字符串列表:
import ast
L = [ast.literal_eval(x) for x in df["column"]]
print (L)
[['tablet', 'mobile', 'man'], ['people', 'house'],
['people', 'computer'], ['computer', 'laptop']]
0赞
theabc50111
11/5/2022
#3
import pandas as pd
result_list = []
df = pd.read_csv("file_name")
series_1 = df.loc[::, "column_name"]
for s in series_1:
list1 = s.strip("[]").replace(" ", "").replace("'", "").split(",")
result_list.append(s)
print(result_list)
评论
0赞
chrslg
11/6/2022
因为你有两个答案(这个似乎是回答真正问题的答案。虽然也是迄今为止更快的答案),但您可能希望删除错误的版本。
评论