Python 我有一个包含10个数据列表的文本文件,我试图将其转换为一个数据帧,其中每个列表都是一列

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

这是我需要在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  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。如果它帮助你,考虑一下投票和标记作为答案。我在这里是新的,所以我的投票已经被记录,但是没有公开显示。没问题