无法理解Pandas的语法。以下是一些示例数据:
one two three id
12 34 561 13555
2 67 781 14777
34 12 90 13555
5 67 89 14777
我想返回第一列,第二列和id,其中id列中的值是13555.想要按名称选择列,而不是位置。
输出看起来像这样:
one two id
12 34 13555
34 12 13555
答案 0 :(得分:3)
print df.loc[(df.id.isin([13555])), ['one', 'two', 'id']]
one two id
0 12 34 13555
2 34 12 13555
或者:
df = df[['one', 'two', 'id']]
print df
one two id
0 12 34 13555
1 2 67 14777
2 34 12 13555
3 5 67 14777
print df[df.id == 13555]
one two id
0 12 34 13555
2 34 12 13555
print df[['one', 'two', 'id']][df.id == 13555]
one two id
0 12 34 13555
2 34 12 13555
或使用query
:
print df[['one', 'two', 'id']].query("id == 13555")
one two id
0 12 34 13555
2 34 12 13555
答案 1 :(得分:0)
假设您的数据框名为df_name,您可以:
line_selector = df_name.id == 13555
df_name.loc[line_selector, ['one', 'two', 'id']]