【问题标题】:merge two matrix (dataframe) into one in between columns在列之间将两个矩阵(数据框)合并为一个
【发布时间】:2021-02-23 04:11:25
【问题描述】:

我有两个这样的数据框:

    df1      a  b   c
        0    1  2   3
        1    2  3   4
        2    3  4   5
    df2      x  y   z
        0    T  T   F
        1    F  T   T
        2    F  T   F

我想根据第 i 列合并这些矩阵,如下所示:

    df       a  x  b  y  c  z
        0    1  T  2  T  3  F
        1    2  F  3  T  4  T
        2    3  F  4  T  5  F

你的想法是什么?我们如何合并、追加或连接?!!

【问题讨论】:

    标签: dataframe merge append concat


    【解决方案1】:

    我使用了这个代码。它是动态工作的:

    df=pd.DataFrame()
    for i in range(0,6):
        if i%2 == 0:
            j=(i)/2
            df.loc[:,i] = df1.iloc[:,int(j)]
        else:
            j=(i-1)/2
            df.loc[:,i] = df2.iloc[:,int(j)]

    而且它工作正常!!

    【讨论】:

      【解决方案2】:

      试试:

      df = pd.concat([df1, df2], axis=1)
      df = df[['a','x','b','y','c','z']]
      

      打印:

         a  x  b  y  c  z
      0  1  T  2  T  3  F
      1  2  F  3  T  4  T
      2  3  F  4  T  5  F
      

      【讨论】:

      • Tnx 伙计。 1:您的代码无法正常工作。你检查了吗?如果我们要更改 40 列,答案是什么?我们应该手动插入 40 列名称?!!!
      • 你得到的错误是什么..你能把它贴在这里吗...
      • 列的顺序对您来说很重要吗?如果不只是,普通的 concat 就可以了。
      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 2018-05-03
      • 2021-01-28
      • 2011-09-17
      • 1970-01-01
      • 2018-09-20
      • 2018-06-06
      • 2022-06-20
      相关资源
      最近更新 更多