私にはDataFrame
があります。 1列(name
)には文字列値があります。私は、DataFrame.query()
メソッドを使用して、特定の列に対して部分的な文字列の一致に基づいて行を選択する方法があるかどうか疑問に思っていました。パンダを使用したクエリで部分列で行を選択
私が試した:
df.query('name.str.contains("lu")')
を。エラーメッセージ: "TypeError: 'Series'オブジェクトは変更可能であり、したがってハッシュできません。df.query('"lu" in name')
空のDataFrame
を返します。import pandas as pd df = pd.DataFrame({ 'name':['blue','red','blue'], 'X1':[96.32,96.01,96.05] }, columns=['name','X1']) print(df.query('"lu" in name').head()) print(df.query('name.str.contains("lu")').head())
私は
df[df['name'].str.contains("lu")]
を使用することができます知っているが、私は クエリを使用することを好む:
コードは、私が使用しています。
まだ実装されていないようです:https://github.com/pandas-dev/pandas/issues/8749 – ayhan
@ayhanありがとう。コメントを回答に変換することは大歓迎です。 –
確かに、答えを加えました。編集は大歓迎です。 – ayhan