在循环中堆叠/串联非等长数组

2024-10-01 15:30:21 发布

您现在位置:Python中文网/ 问答频道 /正文

前面我已经创建了一个matlab脚本,用于加载(制表符分隔)txt文件(然后打印它们)。这些文件的大小(3*x)/长度不相等。基本上剧本是这样的

for i=1:7
    filename = ['filename' num2str(i) '.txt']; % @ filename invullen
    a{i} = dlmread(filename, '\t'); % import some data
    b = a{1,i}(:,1);
    c = a{1,i}(:,2);
    d = a{1,i}(:,3);
end

Matlab不关心长度,加了零或非左右。
现在我想用python做同样的事情。这是我当前的python脚本:

data = b = c = d = []
for file in range(7):
    filename = 'filename'+ str(file+1) + '.txt'  # @ filename invullen
    data.append(np.loadtxt(filename, dtype=None, delimiter='\t'))  # import some data
    b = np.concatenate((b, data[file][:,0]))
    c = np.concatenate((c, data[file][:,1]))
    d = np.concatenate((d, data[file][:,2]))

但由于文件的长度不相等。
当使用vstack或concatenate时,我得到两个错误:

ValueError: all the input arrays must have same number of dimensions

如何添加长度不等的数组。在空位置上添加None值就可以了。我无法更改数组长度的顺序(=文件的顺序)。可能最长的文件不是第一个文件。。。因此,如何在连接/堆叠文件之前匹配长度(新数组或现有数组)

数据示例:

10.145  -45.115 90.903
10.219  -44.571 91.339
10.293  -44.014 90.803
10.368  -43.448 89.230
10.443  -42.950 86.882
10.518  -42.544 83.757
10.595  -42.220 79.973
10.671  -41.981 75.617
10.749  -41.813 70.622
10.827  -41.709 64.926
10.905  -41.652 58.522
10.984  -41.613 51.370
11.064  -41.582 43.502
11.144  -41.534 35.047
11.225  -41.462 26.024
11.306  -41.328 16.387
11.388  -41.130 6.194
11.470  -40.882 -3.904
11.554  -40.587 -13.783
11.637  -40.239 -23.388
11.722  -39.839 -32.683
11.807  -39.438 -41.431
11.892  -39.046 -49.585
11.978  -38.685 -57.348
12.065  -38.363 -64.738
12.152  -38.094 -71.581
12.241  -37.889 -77.897
12.329  -37.776 -83.950
12.419  -37.762 -89.738
12.509  -37.850 -95.117
12.599  -38.052 -100.187
12.691  -38.371 -105.194
12.782  -38.847 -109.941
12.875  -39.499 -114.276
12.968  -40.381 -118.073
13.062  -41.514 -121.309
13.157  -43.019 -123.082
13.252  -44.930 -122.603
13.348  -47.335 -119.157
13.445  -50.045 -109.317
13.543  -53.622 -85.340
13.641  -54.936 -57.049
13.740  -52.007 -30.525
13.839  -48.587 -14.139
13.939  -45.739 -7.631
14.040  -43.409 -5.998
14.142  -41.524 -6.833
14.245  -40.014 -9.169
14.348  -38.799 -12.422
14.452  -37.838 -16.351
14.557  -37.104 -20.657
14.662  -36.564 -25.212
14.768  -36.204 -29.987
14.875  -36.006 -34.909
14.983  -35.969 -39.968
15.092  -36.099 -45.173
15.201  -36.374 -50.619
15.311  -36.791 -56.419
15.422  -37.352 -62.665
15.534  -38.063 -69.422
15.646  -38.907 -76.891
15.760  -39.868 -85.291
15.874  -40.926 -94.944
15.989  -42.020 -106.182
16.105  -43.080 -119.258
16.222  -43.970 -134.024
16.339  -44.534 -149.608
16.458  -44.691 -165.188
16.577  -44.458 -179.948
16.697  -43.989 167.280
16.818  -43.391 156.771
16.940  -42.738 148.226
17.063  -42.073 141.427
17.186  -41.451 136.093
17.311  -40.908 131.976
17.436  -40.443 128.934
17.563  -40.040 126.499
17.690  -39.704 124.544
17.818  -39.448 123.046
17.947  -39.295 121.858
18.077  -39.262 121.136
18.208  -39.322 120.678
18.340  -39.460 120.346
18.473  -39.684 120.222
18.607  -39.990 120.530
18.742  -40.381 121.132
18.877  -40.822 122.098
19.014  -41.314 123.525
19.152  -41.887 125.381
19.291  -42.482 127.665
19.431  -43.088 130.449
19.571  -43.720 133.250
19.713  -44.374 135.756
19.856  -45.058 137.905
20.000  -45.811 139.584
20.145  -46.700 140.448
20.291  -47.847 139.841
20.438  -49.357 137.237
20.586  -51.359 132.017
20.735  -53.928 122.496
20.885  -57.061 104.114
21.037  -59.141 71.177
21.189  -57.826 28.517
21.343  -54.814 -0.864
21.497  -52.037 -16.672
21.653  -49.795 -26.400
21.810  -48.013 -32.765
21.968  -46.692 -37.121
22.127  -45.713 -40.366
22.288  -45.070 -42.978
22.449  -44.744 -45.139
22.612  -44.747 -46.831
22.776  -45.133 -48.044
22.941  -45.958 -48.437
23.107  -47.281 -47.216
23.274  -49.157 -43.381
23.443  -51.634 -34.841
23.613  -54.502 -16.872
23.784  -55.918 16.813
23.956  -54.488 50.566
24.130  -51.606 72.254
24.305  -48.846 84.249
24.481  -46.688 91.056
24.658  -45.006 95.309
24.837  -43.723 98.501
25.017  -42.752 101.607
25.198  -42.002 105.050
25.381  -41.356 109.001
25.565  -40.740 113.291
25.750  -40.139 117.573
25.937  -39.541 121.650
26.125  -38.953 125.397
26.314  -38.401 128.577
26.505  -37.922 131.105
26.697  -37.544 133.042
26.890  -37.287 134.388
27.085  -37.179 135.298
27.281  -37.241 136.009
27.479  -37.509 136.658
27.678  -37.995 137.442
27.879  -38.720 138.846
28.081  -39.702 141.368
28.284  -40.924 145.517
28.489  -42.320 152.049
28.696  -43.730 162.053
28.904  -44.856 175.632
29.113  -45.443 -168.431
29.324  -45.420 -153.244
29.537  -44.994 -140.868
29.751  -44.458 -131.656
29.966  -44.015 -125.134
30.183  -43.751 -120.813
30.402  -43.777 -118.647
30.622  -44.149 -118.893
30.844  -44.934 -122.235
31.068  -46.213 -130.132
31.293  -47.982 -144.877
31.520  -49.896 -170.831
31.748  -50.435 150.707
31.978  -48.575 113.956
32.210  -45.780 88.167
32.443  -43.339 71.475
32.678  -41.641 60.548
32.915  -40.683 53.732
33.154  -40.331 50.590
33.394  -40.392 51.289
33.636  -40.560 55.961
33.880  -40.510 63.550
34.125  -40.050 71.774
34.372  -39.292 78.347
34.621  -38.498 82.356
34.872  -37.862 84.213
35.125  -37.496 85.086
35.380  -37.379 86.046
35.636  -37.398 87.735
35.894  -37.415 90.110
36.154  -37.329 92.973
36.416  -37.081 95.541
36.680  -36.669 97.051
36.946  -36.144 97.353
37.214  -35.537 96.334
37.483  -34.854 94.054
37.755  -34.119 90.606
38.029  -33.383 85.988
38.304  -32.707 80.361
38.582  -32.157 74.197
38.861  -31.792 68.211
39.143  -31.605 63.102
39.427  -31.528 59.565
39.712  -31.420 57.884
40.000  -31.132 57.471
40.290  -30.593 56.926
40.582  -29.896 54.797
40.876  -29.253 50.372
41.172  -28.868 43.840
41.470  -28.884 36.079
41.771  -29.369 28.222
42.074  -30.301 21.752
42.379  -31.548 18.432
42.686  -32.778 19.767
42.995  -33.466 25.280
43.306  -33.335 31.299
43.620  -32.677 34.404
43.936  -31.953 34.652
44.255  -31.371 34.691
44.575  -30.872 36.123
44.898  -30.187 40.475
45.224  -29.039 45.867
45.552  -27.470 49.225
45.882  -25.821 48.996
46.214  -24.426 45.670
46.549  -23.554 40.727
46.886  -23.391 36.063
47.226  -24.021 33.998
47.568  -25.282 37.608
47.913  -26.492 49.884
48.260  -26.485 67.841
48.610  -25.235 82.232
48.962  -23.773 89.922
49.317  -22.770 94.065
49.674  -22.301 98.844
50.034  -21.986 107.126
50.397  -21.167 118.095
50.762  -19.588 127.150
51.130  -17.652 131.074
51.500  -15.817 130.131
51.874  -14.278 126.022
52.249  -13.027 120.346
52.628  -12.015 114.352
53.009  -11.177 108.991
53.394  -10.403 104.850
53.781  -9.531  101.962
54.170  -8.454  99.771
54.563  -7.199  97.549
54.958  -5.891  95.025
55.356  -4.631  92.570
55.758  -3.429  90.819
56.162  -2.192  90.061
56.569  -0.846  89.909
56.978  0.566   89.628
57.391  1.928   88.839
57.807  3.184   87.736
58.226  4.360   86.668
58.648  5.544   85.594
59.073  6.818   84.033
59.501  8.154   81.586
59.932  9.445   78.367
60.367  10.646  74.850
60.804  11.814  71.290
61.245  13.018  67.332
61.688  14.215  62.253
62.135  15.234  55.684
62.586  15.914  48.000
63.039  16.197  40.164
63.496  16.126  33.296
63.956  15.840  28.194
64.420  15.498  25.003
64.886  15.098  23.425
65.357  14.522  23.600
65.830  13.725  26.766
66.307  12.923  34.610
66.788  12.658  46.751
67.272  13.236  59.494
67.759  14.414  69.669
68.250  15.861  76.757
68.745  17.396  81.298
69.243  18.929  83.923
69.745  20.423  85.432
70.250  21.943  86.463
70.759  23.555  86.856
71.272  25.182  85.888
71.788  26.679  83.324
72.309  27.955  79.874
72.833  29.035  76.643
73.360  30.063  74.271
73.892  31.185  72.489
74.427  32.458  70.447
74.967  33.880  67.248
75.510  35.395  62.117
76.057  36.886  54.515
76.608  38.183  44.432
77.163  39.123  32.506
77.723  39.607  19.800
78.286  39.625  7.404
78.853  39.255  -3.968
79.424  38.611  -14.319
80.000  37.799  -24.552
80.580  36.841  -36.506
81.164  35.663  -53.053
81.752  34.225  -78.379
82.344  33.060  -117.820
82.941  33.921  -168.371
83.542  36.871  146.757
84.147  40.219  114.023
84.757  43.047  90.192
85.371  45.282  71.741
85.990  47.043  56.539
86.613  48.435  43.260
87.241  49.498  30.965
87.873  50.238  19.040
88.510  50.667  7.361
89.151  50.901  -3.709
89.797  51.081  -13.749
90.448  51.294  -22.785
91.103  51.492  -31.283
91.763  51.610  -39.770
92.428  51.681  -48.785
93.098  51.749  -58.988
93.773  51.729  -70.798
94.452  51.418  -84.034
95.137  50.645  -98.334
95.826  49.230  -114.206
96.520  46.840  -134.130
97.220  43.123  -163.726
97.924  38.983  144.653
98.634  39.076  81.123
99.349  42.134  36.478
100.069 45.309  10.530
100.794 47.841  -6.084
101.524 49.592  -18.477
102.260 50.707  -29.746
103.001 51.327  -41.174
103.747 51.438  -52.319
104.499 50.941  -61.500
105.256 49.912  -66.406
106.019 48.894  -65.398
106.787 48.692  -60.140
107.561 49.554  -55.796
108.340 51.062  -56.025
109.126 52.440  -60.574
109.916 53.252  -67.669
110.713 53.636  -76.089
111.515 53.789  -84.940
112.323 53.902  -93.954
113.137 54.370  -105.823
113.957 55.246  -125.878
114.783 56.095  -161.191
115.614 56.470  129.282
116.452 56.311  -14.842
117.296 55.651  -140.751
118.146 54.463  171.332
119.002 52.775  160.088
119.865 50.444  155.835
120.733 47.059  156.598
121.608 42.647  167.901
122.489 41.036  -155.945
123.377 43.603  -129.516
124.271 46.932  -121.739
125.171 49.364  -123.296
126.078 50.915  -127.650
126.992 51.973  -131.667
127.912 53.067  -134.827
128.839 54.530  -140.386
129.773 55.990  -152.785
130.713 56.679  -170.351
131.660 56.313  172.104
132.615 55.120  160.211
133.575 53.986  155.918
134.543 53.484  155.461
135.518 53.410  154.300
136.500 53.358  150.664
137.490 53.095  143.443
138.486 52.425  133.494
139.489 51.543  121.794
140.500 50.588  105.899
141.518 49.426  81.176
142.544 48.166  44.719
143.577 48.062  0.292
144.617 49.599  -41.019
145.665 51.713  -71.535
146.721 53.601  -91.949
147.784 55.333  -105.533
148.855 57.157  -116.368
149.933 59.077  -127.842
151.020 60.634  -142.037
152.114 61.266  -157.393
153.217 60.851  -169.227
154.327 59.962  -172.834
155.445 59.613  -168.487
156.572 60.308  -163.698
157.706 61.108  -163.790
158.849 61.243  -164.522
160.000 61.177  -163.591
161.159 60.984  -163.752
162.327 60.320  -163.602
163.504 59.665  -159.908
164.688 59.592  -154.662
165.882 60.207  -149.672
167.084 61.516  -148.011
168.295 63.058  -150.825
169.514 64.567  -157.811
170.742 65.698  -167.609
171.980 66.515  -179.101
173.226 66.481  167.485
174.481 65.338  159.503
175.746 64.375  158.668
177.019 63.748  157.344
178.302 62.778  152.867
179.594 61.036  146.649
180.895 58.149  141.963
182.206 53.741  151.458
183.527 52.675  -170.003
184.856 55.868  -143.981
186.196 59.643  -135.733
187.545 62.603  -138.888
188.904 63.995  -151.333
190.273 63.581  -167.147
191.652 61.909  179.030
193.041 59.366  169.485
194.440 55.673  172.634
195.849 54.785  -154.607
197.268 57.906  -133.049
198.697 60.715  -124.168
200.137 62.553  -114.649
201.587 64.690  -106.006
203.048 67.347  -106.763
204.520 69.416  -117.167
206.002 70.438  -129.738
207.494 70.770  -140.421
208.998 70.477  -150.941
210.512 69.142  -160.593
212.038 67.524  -161.957
213.574 67.405  -157.200
215.122 68.652  -156.528
216.681 70.031  -161.146
218.251 70.677  -168.234
219.833 70.487  -174.482
221.426 70.424  179.732
223.030 70.779  169.680
224.646 70.721  157.630
226.274 70.040  148.253
227.914 68.612  141.226
229.565 66.119  136.276
231.229 63.020  137.896
232.905 61.048  144.273
234.592 60.543  145.708
236.292 60.325  142.491
238.004 59.779  140.639
239.729 58.815  142.237
241.466 57.494  145.555
243.216 56.303  153.838
244.979 56.089  164.657
246.754 57.049  178.361
248.542 58.594  -171.652
250.343 59.436  -167.002
252.157 59.094  -165.083
253.984 57.995  -161.146
255.825 58.040  -152.832

Tags: 文件importtxt脚本nonefordata顺序

热门问题