Python 创建dataframe,来自其他dataframe的子集,其中包含具有空值的额外列。这两个dataframe的标题值都有一个查找表

Python 创建dataframe,来自其他dataframe的子集,其中包含具有空值的额外列。这两个dataframe的标题值都有一个查找表,python,pandas,Python,Pandas,我有一个数据帧 id job fname lname 0 4 abc james frank 1 6 cde bob altin 2 7 kde kevin mchon 3 8 mde george fndes 我想构建第二个数据帧,其头值出现在查找表中 ticket JOB_ID virtual 0 4 abc nan 1 5 cde nan 2 7

我有一个数据帧

    id  job fname   lname
0   4   abc james   frank
1   6   cde bob     altin
2   7   kde kevin   mchon
3   8   mde george  fndes
我想构建第二个数据帧,其头值出现在查找表中

    ticket  JOB_ID  virtual
0   4        abc    nan
1   5        cde    nan
2   7        kde    nan
3   8        mde    nan
使用标题的查找表,如下所示

    Header1 Header2
0   ticket  id
1   JOB_ID  job
2   virtual 
请注意,对于我正在构建的第二个数据帧,第一个数据帧中可能没有任何对应的标题,因此列应使用空白值形成

细节

In [125]: df1
Out[125]:
   id  job   fname  lname
0   4  abc   james  frank
1   6  cde     bob  altin
2   7  kde   kevin  mchon
3   8  mde  george  fndes

In [126]: df2
Out[126]:
   Header1 Header2
0   ticket      id
1   JOB_ID     job
2  virtual     NaN

In [127]: df2.set_index('Header2')['Header1']
Out[127]:
Header2
id      ticket
job     JOB_ID
NaN    virtual
Name: Header1, dtype: object

所以你只想选择性地复制列?你最好的尝试是什么?@cᴏʟᴅsᴘᴇᴇᴅ 是的,基本上我正在尝试创建一个数据帧,其中包含查找中提到的columnsHeader1,并在第一个数据帧中的第一个dataframeHeader2中填入与查找中的头值相对应的值dataframe@JitendraAswani在这种情况下,下面的答案是有效的。加油,谢谢!!!答案很有帮助
In [125]: df1
Out[125]:
   id  job   fname  lname
0   4  abc   james  frank
1   6  cde     bob  altin
2   7  kde   kevin  mchon
3   8  mde  george  fndes

In [126]: df2
Out[126]:
   Header1 Header2
0   ticket      id
1   JOB_ID     job
2  virtual     NaN

In [127]: df2.set_index('Header2')['Header1']
Out[127]:
Header2
id      ticket
job     JOB_ID
NaN    virtual
Name: Header1, dtype: object