简体   繁体   English

熊猫-如何将数据帧的转置作为列标题附加到另一个数据帧?

[英]Pandas- How to append a transpose of dataframe to another dataframe as column headers?

I need to add DF1 values as column in DF2 我需要将DF1值添加为DF2中的列

DataFrame1 数据框1

该DF需要附加

DataFrame2 (in which append operation is required) DataFrame2(需要附加操作)

DF1需要作为转置附加在此数据帧中

Required DataFrame - DF3 所需的DataFrame-DF3 最终输出数据帧

Try pd.concat with an empty dataframe consisting only of headers. 尝试使用仅包含标头的空数据pd.concat Here's a demo - 这是一个演示-

df1

          A         B
0 -0.820067 -0.078793
1 -0.341793 -0.301040
2 -0.122264  1.163896
3 -1.693027  0.147647
4 -1.322206  1.839631
5  0.902077  0.334976
6  0.628941 -1.252080
7  0.607116 -0.588056
8  0.564448  0.096036
9 -0.863496  0.345668

df2

  HeaderName
0        XYZ
1        ABC
2        SRT
3        FFF

pd.concat([df1, pd.DataFrame(columns=df2.HeaderName)], 1)

          A         B  XYZ  ABC  SRT  FFF
0 -0.820067 -0.078793  NaN  NaN  NaN  NaN
1 -0.341793 -0.301040  NaN  NaN  NaN  NaN
2 -0.122264  1.163896  NaN  NaN  NaN  NaN
3 -1.693027  0.147647  NaN  NaN  NaN  NaN
4 -1.322206  1.839631  NaN  NaN  NaN  NaN
5  0.902077  0.334976  NaN  NaN  NaN  NaN
6  0.628941 -1.252080  NaN  NaN  NaN  NaN
7  0.607116 -0.588056  NaN  NaN  NaN  NaN
8  0.564448  0.096036  NaN  NaN  NaN  NaN
9 -0.863496  0.345668  NaN  NaN  NaN  NaN

Use DataFrame.join : 使用DataFrame.join

df2 = df1.join(pd.DataFrame(columns=df2['HeaderName']))

Or assign : assign

df2 = df1.assign(**pd.Series(index=df2['HeaderName']))

We can using reindex 我们可以使用reindex

df1.reindex(columns=list(df1)+df2.HeaderName.tolist())
Out[754]: 
          A         B  XYZ  ABC  SRT  FFF
0 -0.820067 -0.078793  NaN  NaN  NaN  NaN
1 -0.341793 -0.301040  NaN  NaN  NaN  NaN
2 -0.122264  1.163896  NaN  NaN  NaN  NaN
3 -1.693027  0.147647  NaN  NaN  NaN  NaN
4 -1.322206  1.839631  NaN  NaN  NaN  NaN
5  0.902077  0.334976  NaN  NaN  NaN  NaN
6  0.628941 -1.252080  NaN  NaN  NaN  NaN
7  0.607116 -0.588056  NaN  NaN  NaN  NaN
8  0.564448  0.096036  NaN  NaN  NaN  NaN
9 -0.863496  0.345668  NaN  NaN  NaN  NaN

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

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