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

时间:2018-10-19 13:33:02

标签: python-3.x pandas

我有一个表,其中包含列photo_xcombine以及其他字段。 photo_x对于每一行都是唯一的。现在,我有一个photo_x值数组,例如["a.jpg","b.jpg", "c.jpg"]作为输入,我想在与输出相同的行中获取相应的combine字段(这是一个数组)。

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

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 个答案:

答案 0 :(得分:0)

isinCategorical一起使用

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