Python 我有一个包含10个数据列表的文本文件,我试图将其转换为一个数据帧,其中每个列表都是一列
这是我需要在Dataframe中显示的数据。每个列表都需要一个列名,我目前的方法是生成一个明显错误的数据帧,任何建议都是很好的Python 我有一个包含10个数据列表的文本文件,我试图将其转换为一个数据帧,其中每个列表都是一列,python,pandas,Python,Pandas,这是我需要在Dataframe中显示的数据。每个列表都需要一个列名,我目前的方法是生成一个明显错误的数据帧,任何建议都是很好的 [[ 7.3 10.3 7.3 3.4 1.2 0.3 0.1 8.8 12.4 8.8 4.1 1.5 0.4 0.1 5.3 7.5 5.3 2.5 0.9 0.2 0.1 2.1 3. 2.1 1. 0.4 0.1 0. 0.6 0.9 0.6 0.3 0.1 0. 0. 0.2
[[ 7.3 10.3 7.3 3.4 1.2 0.3 0.1 8.8 12.4 8.8 4.1 1.5 0.4 0.1
5.3 7.5 5.3 2.5 0.9 0.2 0.1 2.1 3. 2.1 1. 0.4 0.1 0.
0.6 0.9 0.6 0.3 0.1 0. 0. 0.2 0.2 0.2 0.1 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. ],
[[ 4.6 6.6 4.7 2.3 0.8 0.2 0.1 7.6 10.9 7.8 3.7 1.3 0.4 0.1
6.3 8.9 6.4 3. 1.1 0.3 0.1 3.4 4.9 3.5 1.7 0.6 0.2 0.
1.4 2. 1.4 0.7 0.2 0.1 0. 0.5 0.7 0.5 0.2 0.1 0. 0.
0.1 0.2 0.1 0.1 0. 0. 0. ],
[[ 6.4 9.1 6.4 3. 1.1 0.3 0.1 8.5 12.1 8.6 4. 1.4 0.4 0.1
5.7 8.1 5.7 2.7 1. 0.3 0.1 2.5 3.6 2.5 1.2 0.4 0.1 0.
0.8 1.2 0.8 0.4 0.1 0. 0. 0.2 0.3 0.2 0.1 0. 0. 0.
0. 0.1 0.1 0. 0. 0. 0. ],
[[ 3.9 5.8 4.4 2.2 0.8 0.2 0.1 6.8 10.2 7.6 3.8 1.4 0.4 0.1
5.9 8.9 6.7 3.3 1.3 0.4 0.1 3.5 5.2 3.9 1.9 0.7 0.2 0.1
1.5 2.3 1.7 0.9 0.3 0.1 0. 0.5 0.8 0.6 0.3 0.1 0. 0.
0.2 0.2 0.2 0.1 0. 0. 0. ],
[[ 7.2 10. 6.8 3.1 1.1 0.3 0.1 9.1 12.5 8.6 3.9 1.3 0.4 0.1
5.7 7.8 5.3 2.5 0.8 0.2 0.1 2.4 3.2 2.2 1. 0.4 0.1 0.
0.7 1. 0.7 0.3 0.1 0. 0. 0.2 0.3 0.2 0.1 0. 0. 0.
0. 0.1 0. 0. 0. 0. 0. ],
[[3. 4.9 4. 2.2 0.9 0.3 0.1 5.7 9.2 7.5 4. 1.6 0.5 0.1 5.3 8.6 7. 3.8
1.5 0.5 0.1 3.3 5.4 4.4 2.4 1. 0.3 0.1 1.6 2.5 2.1 1.1 0.5 0.1 0. 0.6
0.9 0.8 0.4 0.2 0.1 0. 0.2 0.3 0.2 0.1 0.1 0. 0. ],
[[ 6.9 8.1 4.7 1.8 0.5 0.1 0. 10.4 12.2 7.1 2.8 0.8 0.2 0.
7.8 9.1 5.3 2.1 0.6 0.1 0. 3.9 4.6 2.7 1. 0.3 0.1 0.
1.5 1.7 1. 0.4 0.1 0. 0. 0.4 0.5 0.3 0.1 0. 0. 0.
0.1 0.1 0.1 0. 0. 0. 0. ],
[[3. 4.5 3.4 1.7 0.6 0.2 0. 6. 9.1 6.8 3.4 1.3 0.4 0.1 6. 9.1 6.8 3.4
1.3 0.4 0.1 4. 6. 4.5 2.3 0.8 0.3 0.1 2. 3. 2.3 1.1 0.4 0.1 0. 0.8
1.2 0.9 0.5 0.2 0.1 0. 0.3 0.4 0.3 0.2 0.1 0. 0. ],
[[ 6.4 9.6 7.2 3.6 1.3 0.4 0.1 8. 12. 9. 4.5 1.7 0.5 0.1
5. 7.5 5.6 2.8 1.1 0.3 0.1 2.1 3.1 2.3 1.2 0.4 0.1 0.
0.7 1. 0.7 0.4 0.1 0. 0. 0.2 0.2 0.2 0.1 0. 0. 0.
0. 0.1 0. 0. 0. 0. 0. ],
[[1.1 1.9 1.7 1. 0.4 0.2 0. 3.1 5.3 4.7 2.7 1.2 0.4 0.1 4.2 7.4 6.4 3.8
1.6 0.6 0.2 3.9 6.7 5.9 3.4 1.5 0.5 0.2 2.6 4.6 4.1 2.4 1. 0.4 0.1 1.5
2.5 2.2 1.3 0.6 0.2 0.1 0.7 1.2 1. 0.6 0.3 0.1 0. ] ]
我当前的代码:
matrix_df = pd.DataFrame(pd.read_csv('filename.txt', names = [names 1 -10]))
您必须对列表集合进行预处理,才能将其转换为以下内容:
master_list = [[7.3,10.3,7.3,3.4,1.2,0.3,0.1,8.8,12.4,8.8,4.1,1.5,0.4,0.1,5.3,7.5,5.3,2.5,0.9,0.2,0.1,2.1,3.0,2.1,1.0,0.4,0.1,0.0,0.6,0.9,0.6,0.3,0.1,0.0,0.0,0.2,0.2,0.2,0.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0],
[4.6,6.6,4.7,2.3,0.8,0.2,0.1,7.6,10.9,7.8,3.7,1.3,0.4,0.1,6.3,8.9,6.4,3.0,1.1,0.3,0.1,3.4,4.9,3.5,1.7,0.6,0.2,0.0,1.4,2.0,1.4,0.7,0.2,0.1,0.0,0.5,0.7,0.5,0.2,0.1,0.0,0.0,0.1,0.2,0.1,0.1,0.0,0.0,0.0],
[6.4,9.1,6.4,3.0,1.1,0.3,0.1,8.5,12.1,8.6,4.0,1.4,0.4,0.1,5.7,8.1,5.7,2.7,1.0,0.3,0.1,2.5,3.6,2.5,1.2,0.4,0.1,0.0,0.8,1.2,0.8,0.4,0.1,0.0,0.0,0.2,0.3,0.2,0.1,0.0,0.0,0.0,0.0,0.1,0.1,0.0,0.0,0.0,0.0],
[3.9,5.8,4.4,2.2,0.8,0.2,0.1,6.8,10.2,7.6,3.8,1.4,0.4,0.1,5.9,8.9,6.7,3.3,1.3,0.4,0.1,3.5,5.2,3.9,1.9,0.7,0.2,0.1,1.5,2.3,1.7,0.9,0.3,0.1,0.0,0.5,0.8,0.6,0.3,0.1,0.0,0.0,0.2,0.2,0.2,0.1,0.0,0.0,0.0],
[7.2,10.0,6.8,3.1,1.1,0.3,0.1,9.1,12.5,8.6,3.9,1.3,0.4,0.1,5.7,7.8,5.3,2.5,0.8,0.2,0.1,2.4,3.2,2.2,1.0,0.4,0.1,0.0,0.7,1.0,0.7,0.3,0.1,0.0,0.0,0.2,0.3,0.2,0.1,0.0,0.0,0.0,0.0,0.1,0.0,0.0,0.0,0.0,0.0],
[3.0,4.9,4.0,2.2,0.9,0.3,0.1,5.7,9.2,7.5,4.0,1.6,0.5,0.1,5.3,8.6,7.0,3.8,1.5,0.5,0.1,3.3,5.4,4.4,2.4,1.0,0.3,0.1,1.6,2.5,2.1,1.1,0.5,0.1,0.0,0.6,0.9,0.8,0.4,0.2,0.1,0.0,0.2,0.3,0.2,0.1,0.1,0.0,0.0],
[6.9,8.1,4.7,1.8,0.5,0.1,0.0,10.4,12.2,7.1,2.8,0.8,0.2,0.0,7.8,9.1,5.3,2.1,0.6,0.1,0.0,3.9,4.6,2.7,1.0,0.3,0.1,0.0,1.5,1.7,1.0,0.4,0.1,0.0,0.0,0.4,0.5,0.3,0.1,0.0,0.0,0.0,0.1,0.1,0.1,0.0,0.0,0.0,0.0],
[3.0,4.5,3.4,1.7,0.6,0.2,0.0,6.0,9.1,6.8,3.4,1.3,0.4,0.1,6.0,9.1,6.8,3.4,1.3,0.4,0.1,4.0,6.0,4.5,2.3,0.8,0.3,0.1,2.0,3.0,2.3,1.1,0.4,0.1,0.0,0.8,1.2,0.9,0.5,0.2,0.1,0.0,0.3,0.4,0.3,0.2,0.1,0.0,0.0],
[6.4,9.6,7.2,3.6,1.3,0.4,0.1,8.0,12.0,9.0,4.5,1.7,0.5,0.1,5.0,7.5,5.6,2.8,1.1,0.3,0.1,2.1,3.1,2.3,1.2,0.4,0.1,0.0,0.7,1.0,0.7,0.4,0.1,0.0,0.0,0.2,0.2,0.2,0.1,0.0,0.0,0.0,0.0,0.1,0.0,0.0,0.0,0.0,0.0],
[1.1,1.9,1.7,1.0,0.4,0.2,0.0,3.1,5.3,4.7,2.7,1.2,0.4,0.1,4.2,7.4,6.4,3.8,1.6,0.6,0.2,3.9,6.7,5.9,3.4,1.5,0.5,0.2,2.6,4.6,4.1,2.4,1.0,0.4,0.1,1.5,2.5,2.2,1.3,0.6,0.2,0.1,0.7,1.2,1.0,0.6,0.3,0.1,0.0]]
获得此格式的源数据后,可以轻松地将其转换为数据帧:
lst = list(map(list, zip(*master_list)))
df = pd.DataFrame(lst)
print(df)
输出:
0 1 2 3 4 5 6 7 8 9
0 7.3 4.6 6.4 3.9 7.2 3.0 6.9 3.0 6.4 1.1
1 10.3 6.6 9.1 5.8 10.0 4.9 8.1 4.5 9.6 1.9
2 7.3 4.7 6.4 4.4 6.8 4.0 4.7 3.4 7.2 1.7
3 3.4 2.3 3.0 2.2 3.1 2.2 1.8 1.7 3.6 1.0
4 1.2 0.8 1.1 0.8 1.1 0.9 0.5 0.6 1.3 0.4
5 0.3 0.2 0.3 0.2 0.3 0.3 0.1 0.2 0.4 0.2
6 0.1 0.1 0.1 0.1 0.1 0.1 0.0 0.0 0.1 0.0
7 8.8 7.6 8.5 6.8 9.1 5.7 10.4 6.0 8.0 3.1
8 12.4 10.9 12.1 10.2 12.5 9.2 12.2 9.1 12.0 5.3
9 8.8 7.8 8.6 7.6 8.6 7.5 7.1 6.8 9.0 4.7
10 4.1 3.7 4.0 3.8 3.9 4.0 2.8 3.4 4.5 2.7
11 1.5 1.3 1.4 1.4 1.3 1.6 0.8 1.3 1.7 1.2
12 0.4 0.4 0.4 0.4 0.4 0.5 0.2 0.4 0.5 0.4
13 0.1 0.1 0.1 0.1 0.1 0.1 0.0 0.1 0.1 0.1
14 5.3 6.3 5.7 5.9 5.7 5.3 7.8 6.0 5.0 4.2
15 7.5 8.9 8.1 8.9 7.8 8.6 9.1 9.1 7.5 7.4
16 5.3 6.4 5.7 6.7 5.3 7.0 5.3 6.8 5.6 6.4
17 2.5 3.0 2.7 3.3 2.5 3.8 2.1 3.4 2.8 3.8
18 0.9 1.1 1.0 1.3 0.8 1.5 0.6 1.3 1.1 1.6
19 0.2 0.3 0.3 0.4 0.2 0.5 0.1 0.4 0.3 0.6
20 0.1 0.1 0.1 0.1 0.1 0.1 0.0 0.1 0.1 0.2
21 2.1 3.4 2.5 3.5 2.4 3.3 3.9 4.0 2.1 3.9
22 3.0 4.9 3.6 5.2 3.2 5.4 4.6 6.0 3.1 6.7
23 2.1 3.5 2.5 3.9 2.2 4.4 2.7 4.5 2.3 5.9
24 1.0 1.7 1.2 1.9 1.0 2.4 1.0 2.3 1.2 3.4
25 0.4 0.6 0.4 0.7 0.4 1.0 0.3 0.8 0.4 1.5
26 0.1 0.2 0.1 0.2 0.1 0.3 0.1 0.3 0.1 0.5
27 0.0 0.0 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.2
28 0.6 1.4 0.8 1.5 0.7 1.6 1.5 2.0 0.7 2.6
29 0.9 2.0 1.2 2.3 1.0 2.5 1.7 3.0 1.0 4.6
30 0.6 1.4 0.8 1.7 0.7 2.1 1.0 2.3 0.7 4.1
31 0.3 0.7 0.4 0.9 0.3 1.1 0.4 1.1 0.4 2.4
32 0.1 0.2 0.1 0.3 0.1 0.5 0.1 0.4 0.1 1.0
33 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.4
34 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1
35 0.2 0.5 0.2 0.5 0.2 0.6 0.4 0.8 0.2 1.5
36 0.2 0.7 0.3 0.8 0.3 0.9 0.5 1.2 0.2 2.5
37 0.2 0.5 0.2 0.6 0.2 0.8 0.3 0.9 0.2 2.2
38 0.1 0.2 0.1 0.3 0.1 0.4 0.1 0.5 0.1 1.3
39 0.0 0.1 0.0 0.1 0.0 0.2 0.0 0.2 0.0 0.6
40 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.1 0.0 0.2
41 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1
42 0.0 0.1 0.0 0.2 0.0 0.2 0.1 0.3 0.0 0.7
43 0.0 0.2 0.1 0.2 0.1 0.3 0.1 0.4 0.1 1.2
44 0.0 0.1 0.1 0.2 0.0 0.2 0.1 0.3 0.0 1.0
45 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.2 0.0 0.6
46 0.0 0.0 0.0 0.0 0.0 0.1 0.0 0.1 0.0 0.3
47 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.1
48 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
你介意正确格式化你的代码吗?至少,在列表之间加逗号,我相信它应该被包装到一个主列表中。让我们的家人更容易帮助我们,这就是问题所在吗?它需要包装在主列表中吗?当生成txt文件时,它没有功能列表=[x代表csv.reader中的x(打开(“yourfilename.txt”,“r”),delimiter=“”)]这样做可以将该文件中的所有内容转换为列表列表,您可以在变量“列表”上迭代,每个列表都将是该文件上的列表,并应用于您想要实现的目标,迭代列表并创建一个字典,然后为每个列表添加一个名称。伙计,我尝试了我所说的,但是处理你想要的数据太难了,你甚至在每个列表的每个元素之间都没有逗号,这很难像那样使用!你应该做的第一件事是在每个元素中添加逗号我现在已经编辑了我的数据,所以当我生成文件时,它会用逗号分隔每个列表。从你最初的帖子中,我只需要从txt文件创建一个数据帧,每个列表(逗号现在分开)都是一列。谢谢你,Anshul。这正是我需要它显示的方式。谢谢你的帮助,我使用了崇高的文本来格式化你的数据,但是如果你想用程序来做,那么你需要一个正则表达式的组合,IIUC。如果它帮助你,考虑一下投票和标记作为答案。我在这里是新的,所以我的投票已经被记录,但是没有公开显示。没问题