繁体   English   中英

将数据框转换为另一列的数据框

[英]Transform a dataframe to a column for another.dataframe pandas PYTHON

我需要以特定方式将两个表合并在一起:

第一种方式:

    Out[7]: 
         A   B   C   D
     a   1   4   4   4
     b   4   5   5   5
     c   3   6   6   6
     d   8   7   7   7

Second.one像这样:

      Out[8]: 
     T1  T2  C2  D2   S2.   
  a  A4  B4  C4  D4.   A.
  a  ..............    B.
  a  ..............    C
  a  ..............    D
  b  A5  B5  C5  D5.   A
  b ...............    B
  ..
  ..     
  c  A6  B6  C6  D6.   A
  ...
  ...     
  d  A7  B7  C7  D7.   A
  d  ...............   B
  ...     

我想做以下事情:

           Out[8]: 
          T1  T2  C2  D2   S2.     M
       a  A4  B4  C4  D4.   A      1
       a. A2. X4. C3. B8.   B      4
       a. S7. N4. R3. S7.   C      4
       .
       .
       .
       b  A5  B5  C5  D5.    A      4
       b. F4. F6.  C8. A5.    B      5
       ....
       .....
       c  A6  B6  C6  D6.    C.      6
       .....
       ......
       d  A7  B7  C7  D7.   D.     7
       ......
       .......

目标:当第一个df中的NAME列对应于S2列的S2列中的ROW'S值时,在第一个和第二个数据帧(a,b,c,d)中查找第一列的值会创建一个新列,其中包含来自第一个数据帧的值第二 。 它不是对角线

我认为需要:

df = (df2.set_index('S2', append=True)
         .rename_axis((None, None))
         .join(df1.stack().rename('M'))
         .reset_index(level=1)
         .rename(columns={'level_1':'S2'}))
print (df)

  S2  T1  T2  C2   D2  M
a  A  A4  B4  C4  D4.  1
b  B  A5  B5  C5  D5.  5
c  C  A6  B6  C6  D6.  6
d  D  A7  B7  C7  D7.  7

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM