未使用新值正确更新数据帧

2024-09-26 22:53:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个叫做rawReturn的大数据帧,它看起来像:

      Identifier        Entry Date  Route to current team   concatenated
0          12884    ..  01/01/2012               TRANSFER    SMITHROBERT
1          10604    ..  04/07/2013               EXTERNAL       JONESAMY
2          14445    ..  16/07/2018               EXTERNAL    EVANSSTEVEN
3           7898    ..  03/09/2010                   LOAN       HILLEMMA
:              :    ..           :                      :              :
34578      10487    ..  01/07/2012               TRANSFER     DENSMARCUS
34579      13016    ..  02/06/2014               EXTERNAL     WHITECHRIS
34580      12885    ..  09/08/2016                   LOAN     COLESDAVID
34581               ..  05/08/2014               EXTERNAL      KINGHELEN

我还有另一个名为df的数据帧,它有我想应用于rawReturn数据帧的更新。在下面的示例中,我尝试使用如下df数据帧更新到Route to current team列:

    Identifier  Surname First Name(s)   Route to current team   concatenated
0        10604    JONES           AMY                    LOAN       JONESAMY
1        12885     KING         HELEN                TRANSFER      KINGHELEN

我正在尝试为每个具有匹配的串联列值的记录修改Route to current team条目

因此,生成的更新后的rawReturn数据帧如下所示:

    Identifier  Entry Date      Route to current team   concatenated
0        12884  ..  01/01/2012               TRANSFER    SMITHROBERT
1        10604  ..  04/07/2013                   LOAN       JONESAMY
2        14445  ..  16/07/2018               EXTERNAL    EVANSSTEVEN
3         7898  ..  03/09/2010                   LOAN       HILLEMMA
:            :  ..           :                      :              :
34578    10487  ..  01/07/2012               TRANSFER     DENSMARCUS
34579    13016  ..  02/06/2014               EXTERNAL     WHITECHRIS
34580    12885  ..  09/08/2016                   LOAN     COLESDAVID
34581           ..  05/08/2014               TRANSFER      KINGHELEN

我正在尝试使用以下内容用df数据更新rawReturn:

header = df.columns

for item in header[3:]:
   if item != 'concatenated':
      rawReturn.loc[rawReturn.concatenated.isin(df.concatenated),[item]] = df[item]

在上面我有一个名为item的变量,它被设置为我要更新的列(在本例中,item将被设置为Route to current team值,如果concatenated字段值存在于df

当前返回的输出是:

    Identifier  Entry Date      Route to current team   concatenated
0        12884  ..  01/01/2012               TRANSFER    SMITHROBERT
1        10604  ..  04/07/2013                              JONESAMY
2        14445  ..  16/07/2018               EXTERNAL    EVANSSTEVEN
3         7898  ..  03/09/2010                   LOAN       HILLEMMA
:            :  ..           :                      :              :
34578    10487  ..  01/07/2012               TRANSFER     DENSMARCUS
34579    13016  ..  02/06/2014               EXTERNAL     WHITECHRIS
34580    12885  ..  09/08/2016                   LOAN     COLESDAVID
34581           ..  05/08/2014                             KINGHELEN

在这个例子中,Amy和Helen在Route to current team列中的值(在df数据帧中有更新)已经被删除而没有更新

有人能告诉我我做错了什么吗

谢谢


Tags: to数据dfcurrentitemrouteexternalteam

热门问题