pandas.DataFrame.query — pandas 0.23.0 documentation
DataFrame.query(expr, inplace=False, **kwargs)
expr : string
The query string to evaluate. You can refer to variables in the environment by prefixing them with an ‘@’ character like @a + b.
まず前提としてqueryの引数は**文字列(str)**ですね。
入力に使っているCSVを質問文にのせていないので適当なデータを用意するとこんな感じ
python
1import pandas as pd
2
3data = {"user" : ["Alice", "Bob", "Mike", "Kenji", "Tim"], "ids": [100, 101, 102, 103, 104]}
4df = pd.DataFrame.from_dict(data)
5
6print(df)
7"""
8 user ids
90 Alice 100
101 Bob 101
112 Mike 102
123 Kenji 103
134 Tim 104
14"""
15
16print(df.query("ids == 100"))
17"""
18 user ids
190 Alice 100
20"""
IDインデックスが100 or 101 or 102であるものを抽出したいと思いこのコードを書いたのですが、何が間違っているのでしょうか?
python
1print(df.query("ids == 100 or ids == 101 or ids == 102"))
2"""
3 user ids
40 Alice 100
51 Bob 101
62 Mike 102
7"""
8
9print(df.query("100 <= ids <= 102"))
10"""
11 user ids
120 Alice 100
131 Bob 101
142 Mike 102
15"""
16
17ids = [100, 101, 102]
18print(df[df["ids"].isin(ids)])
19"""
20 user ids
210 Alice 100
221 Bob 101
232 Mike 102
24"""
参考
note.nkmk.me - pandas.DataFrameの行を条件で抽出するquery
pandas.DataFrame.query — pandas 0.23.0 documentation
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。