代码之家  ›  专栏  ›  技术社区  ›  RustyShackleford

如何防止熊猫只为一行将值从一个df分配给另一个df的列?

  •  1
  • RustyShackleford  · 技术社区  · 6 年前

    我有一个像这样的df:

    id   col1     col2
    1    2         3 
    4    5         6
    7    8         9 
    

    当我要添加一个新列并分配这样的值时:

    df['new_col'] = old_df['email']
    

    该赋值仅将值赋给第一个,如下所示:

    id   col1     col2   new_col
     1    2         3     a@a.com
     4    5         6     NaN
     7    8         9     NaN
    

    如何对所有这样的行进行分配:

    id   col1     col2   new_col
     1    2         3     a@a.com
     4    5         6     a@a.com
     7    8         9     a@a.com 
    

    编辑:

    OLDYDF:

    id   col3     col4   email
     1    2         3     a@a.com
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   jpp    6 年前

    熊猫系列作业 指数 . 自从 old_df 仅包含索引 0 仅索引 即第一排 df 更新。

    对于您的特定问题,您可以使用 iat 并将标量赋给序列:

    df['new_col'] = old_df['email'].iat[0]
    

    这是因为熊猫会向 整体 不考虑索引的序列。