我已经想出如何获取我想要的信息,但如果没有更好,更易读的方法,我会感到惊讶。
我想在包含我指定的数据元素的行中的不同列中获取值。例如,'b'中的值与'a'中的值10相对应。
{% for item in users_model %}
<tr>
<td><a href="{% url 'profile' item.id %}">{{ item.username }}</a></td>
<td>{{ item.newusermodel.posts }}</td>
<td></td>
<td></td>
</tr>
{% endfor %}
这就是我目前解决它的方法,但实际上我的数据框并没有如此简洁地命名,而且我的字符串也很长,因此该行很难阅读。
编辑:如果'a'中的值不唯一,还有办法获得'b'中的所有相应值吗?
答案 0 :(得分:7)
您可以使用带有loc
的布尔掩码来返回满足布尔条件的所有行,这里我们使用条件掩盖df,其中&#39; a&#39; == 11,如果符合要求,则返回&#39; b&#39;:
In [120]:
df = pd.DataFrame({'a':[10,11,11],'b':np.arange(3), 'c':np.random.randn(3)})
df
Out[120]:
a b c
0 10 0 -1.572926
1 11 1 -0.639703
2 11 2 -1.282575
In [121]:
df.loc[df['a'] == 11,'b']
Out[121]:
1 1
2 2
Name: b, dtype: int32