【问题标题】:Concat values from columns depends on particular condition列中的连接值取决于特定条件
【发布时间】:2016-03-16 11:10:00
【问题描述】:

我有以下数据框:

# EPISODE PROGRAM  TITLE IS_EPIS  IS_MOVIE IS_SHOW    
1 E_N1    P_N1      T1      1        0         0
2 E_N2    P_N2      T2      0        0         1
3 E_N3    P_N3      T3      0        1         0

我正在尝试获取新列:

# EPISODE PROGRAM  TITLE IS_EPIS  IS_MOVIE IS_SHOW  TITLE  EPISODE_TITLE
1 E_N1    P_N1       T1     1        0         0      NA        E_N1
2 E_N2    P_N2       T2     0        0         1      T2         NA        
3 E_N3    P_N3       T3     0        1         0      P_N3       NA

通过:

df['episode_title'] = df[(df.IS_EPIS == 1)].episode #GOOD

df['title'] = df[(df.IS_MOVIE == 1)].program | df[(df.IS_SHOW == 1)].title #FAIL

【问题讨论】:

    标签: python python-2.7 python-3.x pandas dataframe


    【解决方案1】:

    你可以使用loc:

    df.loc[df.IS_MOVIE == 1 ,'title'] = df.PROGRAM
    df.loc[df.IS_SHOW == 1, 'title'] = df.TITLE
    df.loc[df.IS_EPIS == 1, 'episode_title'] = df.EPISODE
    print df
      EPISODE PROGRAM TITLE  IS_EPIS  IS_MOVIE  IS_SHOW title episode_title
    #                                                                      
    1    E_N1    P_N1    T1        1         0        0   NaN          E_N1
    2    E_N2    P_N2    T2        0         0        1    T2           NaN
    3    E_N3    P_N3    T3        0         1        0  P_N3           NaN
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      相关资源
      最近更新 更多