select rows初体验
数据处理的时候最常见的操作就是我选出一些我感兴趣的数据,然后对它们进行某些操作。落实下来通常就会是select rows, 为了说明方便,我们来用下面这个toy data:
>>> df = pd.DataFrame({"age": [11,22,32], "experience": [0, 2, 5]})
>>> df
age experience
0 11 0
1 22 2
2 32 5
作为select rows初体验,我们先选择经验超过两年的,看上去很容易:
>>> df[df.experience >= 2]
age experience
1 22 2
2 32 5
实际情况
但是实际中这些条件经常是摸索出来的,会很复杂;为了模拟,我们只能说不太靠谱的:age + experience < 10; 或者说age^3 - age = 1320。问题是:我有一个较为复杂的condition,我应该怎样去写来选择语句呢?
最基本的情况
我们先来看看在上面的例子中究竟发生了什么。条件 df.experience >= 2实际上是一个对象:
>>> df.experience >= 2
0 False
1 True
2 True
Name: experience, dtype: bool