dfs\u list是一个庞大的数据帧列表。例如,下面是列表中的三个数据帧:
[2501 rows x 2 columns], ABCD TEST ABCD TRIAL
Time
0.000 NaN 1.048793
0.002 NaN 1.048793
0.004 NaN 1.017976
0.006 NaN 1.059065
0.008 NaN 1.038521
... ... ...
4.992 NaN 0.997432
4.994 NaN 1.007704
4.996 NaN 1.007704
4.998 NaN 0.987160
5.000 NaN 0.001027
[2501 rows x 2 columns], ABC TEST ABC TRIAL
Time
0.000 0.73632 1.039654
0.002 0.76128 1.021422
0.004 0.82368 0.984959
0.006 0.74880 1.021422
0.008 0.71136 1.048769
... ... ...
4.992 0.72384 1.012306
4.994 0.71136 1.030538
4.996 0.76128 0.984959
4.998 0.69888 1.021422
5.000 0.03744 -0.008660
[2501 rows x 2 columns]]
[ ABDCE TEST ABCDE TRIAL
Time
0.000 NaN 1.065354
0.002 NaN 1.065354
0.004 NaN 1.048597
0.006 NaN 1.048597
0.008 NaN 1.065354
... ... ...
4.992 NaN 0.989946
4.994 NaN 1.006703
4.996 NaN 1.006703
4.998 NaN 1.006703
5.000 NaN 0.001257
我想合并数据帧列表以获得如下输出:
ABCD TEST ABCD TRIAL ABC TEST ABC TRIAL ABDCE TEST ABCDE TRIAL
Time
0.000 NaN 1.048793 0.73632 1.039654 NaN 1.065354
0.002 NaN 1.048793 0.76128 1.021422 NaN 1.065354
0.004 NaN 1.017976 0.82368 0.984959 NaN 1.048597
0.006 NaN 1.059065 0.74880 1.021422 NaN 1.048597
0.008 NaN 1.038521 0.71136 1.048769 NaN 1.065354
... ... ... ... ... ... ...
4.992 NaN 0.997432 0.72384 1.012306 NaN 0.989946
4.994 NaN 1.007704 0.71136 1.030538 NaN 1.006703
4.996 NaN 1.007704 0.76128 0.984959 NaN 1.006703
4.998 NaN 0.987160 0.69888 1.021422 NaN 1.006703
5.000 NaN 0.001027 0.03744 -0.008660 NaN 0.001257
所有的数据帧都是2501行x 2列,并且以'Time'作为索引。所有数据帧的所有“时间”索引值都完全相同。你知道吗
当我这样做时:
pd.concat(dfs_list, axis=1)
输出是一个具有许多Nan值的数据帧。你知道吗
我得到的最接近的是使用以下代码:
reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index=True), dfs_list)
这将正确地组合dfs\u列表中的所有数据帧,但只输出第一行(Time=0.0)。你知道吗
如果我使用ignore\ U index,要处理注释,数据帧结果是:
0 1 2 3 4 ... 383 384 385 386 387
Time ...
0.000 NaN 1.065354 NaN 1.048793 0.73632 ... 1.010290 0.64896 0.803985 NaN 0.665822
0.002 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
0.002 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
0.002 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
0.002 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ...
4.998 NaN NaN NaN NaN NaN ... NaN 0.66144 0.934120 NaN NaN
4.998 NaN 1.006703 NaN 0.987160 0.69888 ... 0.991581 NaN NaN NaN 1.037600
4.998 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
5.000 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
5.000 NaN 0.001257 NaN 0.001027 0.03744 ... -0.009355 0.00000 0.006913 NaN 0.234896
编辑: 如果我一起删除时间列并重置索引呢?我真的不在乎时间栏。。只有测试和试用栏。那么dfu列表将如下所示:
[2501 rows x 2 columns], ABCD TEST ABCD TRIAL
4893 NaN 1.048793
4894 NaN 1.048793
4895 NaN 1.017976
4896 NaN 1.059065
4897 NaN 1.038521
... ... ...
7389 NaN 0.997432
7390 NaN 1.007704
7391 NaN 1.007704
7392 NaN 0.987160
7393 NaN 0.001027
[2501 rows x 2 columns], ABC TEST ABC TRIAL
4007 0.73632 1.039654
4008 0.76128 1.021422
4009 0.82368 0.984959
4010 0.74880 1.021422
4011 0.71136 1.048769
... ... ...
6503 0.72384 1.012306
6504 0.71136 1.030538
6505 0.76128 0.984959
6506 0.69888 1.021422
6507 0.03744 -0.008660
[2501 rows x 2 columns]]
[ ABCDE TEST ABCDE TRIAL
4862 NaN 1.065354
4863 NaN 1.065354
4864 NaN 1.048597
4865 NaN 1.048597
4866 NaN 1.065354
... ... ...
7358 NaN 0.989946
7359 NaN 1.006703
7360 NaN 1.006703
7361 NaN 1.006703
7362 NaN 0.001257
但是,如果我尝试pd.concat(dfs_list, axis=1, ignore_index=True)
,输出仍然是:
0 1 2 3 4 ... 383 384 385 386 387
12 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
13 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
14 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
15 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
16 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ...
7491 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 0.970004
7492 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 0.978454
7493 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 1.020701
7494 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 1.037600
7495 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN 0.234896
让我们使用^{} 。你知道吗
关于join的注释
相关问题 更多 >
编程相关推荐