将一列从一个熊猫数据帧复制到另一个

时间:2021-06-09 14:24:32

标签: python pandas dataframe

我有以下代码,我尝试将 EXPIRATION 从最近的数据帧复制到目标数据帧中的 EXPIRATION 列:

recent = pd.read_excel(r'Y:\Attachments' + '\\' + '962021.xlsx')
print('HERE\n',recent)
print('HERE2\n', recent['EXPIRATION'])
destination= pd.read_excel(r'Y:\Attachments' + '\\' + 'Book1.xlsx')
print('HERE3\n', destination)
destination['EXPIRATION']= recent['EXPIRATION']
print('HERE4\n', destination)

问题是目的地的行数少于最近的行,因此最近的 EXPIRATION 列中的一些较低行不会最终出现在目标数据框中。我希望最近的所有 EXPIRATION 值都在目标数据框中,即使所有其他值都是 NaN。

示例输出:

HERE
    Unnamed: 0  IGNORE DATE_TRADE DIRECTION  EXPIRATION      NAME OPTION_TYPE  PRICE  QUANTITY     STRATEGY  STRIKE TIME_TRADE TYPE UNDERLYING
0           0      21   6/9/2021         B  08/06/2021  BNP FP E           C     12        12      CONDORI      12    9:23:40  ETF     NASDAQ
1           1      22   6/9/2021         B  16/06/2021  BNP FP E           P     12        12  GOLD/SILVER      12    10:9:19  ETF     NASDAQ
2           2      23   6/9/2021         B  16/06/2021      TEST           P     12        12      CONDORI      21   10:32:12  EQT       TEST
3           3      24   6/9/2021         B  22/06/2021      TEST           P     12        12  GOLD/SILVER      12    10:35:5  EQT     NASDAQ
4           4       0   6/9/2021         B  26/06/2021      TEST           P     12        12  GOLD/SILVER      12   10:37:11  ETF    FTSE100
HERE2
 0    08/06/2021
1    16/06/2021
2    16/06/2021
3    22/06/2021
4    26/06/2021
Name: EXPIRATION, dtype: object
HERE3
    Unnamed: 0  IGNORE  DATE_TRADE  DIRECTION  EXPIRATION  NAME  OPTION_TYPE  PRICE  QUANTITY  STRATEGY  STRIKE  TIME_TRADE  TYPE  UNDERLYING
0         NaN     NaN         NaN        NaN           2   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN
1         NaN     NaN         NaN        NaN           1   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN
2         NaN     NaN         NaN        NaN           3   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN
HERE4
    Unnamed: 0  IGNORE  DATE_TRADE  DIRECTION  EXPIRATION  NAME  OPTION_TYPE  PRICE  QUANTITY  STRATEGY  STRIKE  TIME_TRADE  TYPE  UNDERLYING
0         NaN     NaN         NaN        NaN  08/06/2021   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN
1         NaN     NaN         NaN        NaN  16/06/2021   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN
2         NaN     NaN         NaN        NaN  16/06/2021   NaN          NaN    NaN       NaN       NaN     NaN         NaN   NaN         NaN

1 个答案:

答案 0 :(得分:1)

加入通常是最好的方法,但我看到除了本地熊猫索引之外你没有 id 列,并且目的地只有 Nans,所以如果你确定排序不是问题,你可以使用:< /p>

>>> destination = pd.concat([recent,destination[['EXPIRATION']]], ignore_index=True, axis=1)

 Unnamed: 0  IGNORE  DATE_TRADE  DIRECTION  EXPIRATION     ...
0         NaN     NaN         NaN        NaN  08/06/2021   ...
1         NaN     NaN         NaN        NaN  16/06/2021   ...
2         NaN     NaN         NaN        NaN  16/06/2021   ...
3         NaN     NaN         NaN        NaN  22/06/2021   ...
4         NaN     NaN         NaN        NaN  26/06/2021   ...