首页 > 解决方案 > 用数组获取对应的字段元素

问题描述

我有一个像列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'])

标签: python-3.xpandas

解决方案


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

推荐阅读