如何在功能样式的数据框上执行复杂的索引查询

时间:2016-05-13 04:11:14

标签: python pandas indexing

我喜欢使用query而不是loc,因为它可以与操作员链接一起使用,有时可以通过不重复DataFrame名称来保存字符。

import pandas as pd
dataframe_with_a_long_name = pd.DataFrame({'animals': ['cat', 'dog']})
dataframe_with_a_long_name.query("animals == 'cat'")

query str.contains是不是dataframe_with_a_long_name[dataframe_with_a_long_name.animals.str.contains('c')] 不支持,如果我想要做同样的事情吗?

JDialog

1 个答案:

答案 0 :(得分:2)

0.18.1 .loc[],。iloc.ix以及[] accept a callable以来,您可以:

dataframe_with_a_long_name.loc[lambda df: df.animals.str.contains('c')]

  animals
0     cat