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

使用数组获取相应的字段元素

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

    我有一张带柱子的桌子 photo_x combine 以及其他领域。 照片\x 每行都是唯一的。现在我有一系列 照片\x 价值观 ["a.jpg","b.jpg", "c.jpg"] 作为输入,我想得到相应的 结合 与输出(数组)在同一行中的字段。

    我可以使用下面的代码来完成这个任务,但是是否有更简洁的方法?

    combine_field_values=[]
    for name in ["a.jpg","b.jpg", "c.jpg"]:
        combine_field_values.append(df_train[df_train['photo_x']==name]['combine'])
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   BENY    6 年前

    使用 isin 具有 Categorical

    s=df_train.loc[df_train['photo_x'].isin(["a.jpg","b.jpg", "c.jpg"]),['combine','photo_x']]
    
    s.photo_x=pd.Categorical(s.photo_x, ordered=True,categories=["a.jpg","b.jpg", "c.jpg"])
    
    s.sort_values(photo_x).combine.values