Fra*_*urt 7 python dataframe pandas
我有一个DataFrame。1列(name)具有字符串值。我想知道是否有一种方法使用该DataFrame.query()方法根据与特定列匹配的部分字符串选择行。
我试过了:
df.query('name.str.contains("lu")')。错误消息:“ TypeError:'系列'对象是可变的,因此不能被散列”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())
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用,df[df['name'].str.contains("lu")]但我更喜欢使用查询。
@ayhan所指的问题现在说明了如何使用query的python引擎来实现:
print(df.query('name.str.contains("lu")', engine='python').head())
应该管用。