Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据帧组合列表_Python_Pandas - Fatal编程技术网

Python 数据帧组合列表

Python 数据帧组合列表,python,pandas,Python,Pandas,dfs_列表是一个庞大的数据帧列表。例如,以下是列表中的三个数据帧: [2501 rows x 2 columns], ABCD TEST ABCD TRIAL Time 0.000 NaN 1.048793 0.002 NaN 1.048793 0.004

dfs_列表是一个庞大的数据帧列表。例如,以下是列表中的三个数据帧:

[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 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
所有数据帧均为2501行x 2列,并以“时间”作为索引。所有数据帧的所有“时间”索引值都完全相同

当我这样做时:

pd.concat(dfs_list, axis=1)
输出是一个具有许多Nan值的数据帧

我得到的最接近的结果是使用以下代码:

reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index=True), dfs_list)
这将正确组合dfs_列表中的所有数据帧,但仅输出第一行(时间=0.0)

如果我使用ignore_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
编辑: 如果我一起删除时间列并重置索引会怎么样?我真的不在乎时间栏。。只有测试和试用列。那么df_列表将如下所示:

                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 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\u list,axis=1,ignore\u 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的注记

将列与索引或键列上的其他DataFrame连接。 通过索引一次高效地连接多个数据帧对象 传递列表

其他:数据帧、系列或数据帧列表


pd.concat(dfs\u list,axis=1,ignore\u index=True)
?从您的帖子来看,dfs\u list包含不同的索引数据帧?