为pandas添加选择访问器
项目描述
pandas-selectable
这是什么?
pandas-selectable
为pandas DataFrame和Series添加了一个 select
访问器。它类似于 query
,但具有更友好的自动补全功能。
快速入门
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: import pandas_selectable # magic
In [4]: dta = pd.DataFrame.from_dict({
...: 'X': ['A', 'B', 'C'] * 5,
...: 'Y': np.arange(1, 16),
...: 'Z': pd.date_range('2020-01-01', periods=15)
...: })
In [5]: dta.head()
Out[5]:
X Y Z
0 A 1 2020-01-01
1 B 2 2020-01-02
2 C 3 2020-01-03
3 A 4 2020-01-04
4 B 5 2020-01-05
In [6]: dta.select.X == 'B'
Out[6]:
X Y Z
1 B 2 2020-01-02
4 B 5 2020-01-05
7 B 8 2020-01-08
10 B 11 2020-01-11
13 B 14 2020-01-14
In [7]: dta.select.Z >= '2020-01-03'
Out[7]:
X Y Z
2 C 3 2020-01-03
3 A 4 2020-01-04
4 B 5 2020-01-05
5 C 6 2020-01-06
6 A 7 2020-01-07
7 B 8 2020-01-08
8 C 9 2020-01-09
9 A 10 2020-01-10
10 B 11 2020-01-11
11 C 12 2020-01-12
12 A 13 2020-01-13
13 B 14 2020-01-14
14 C 15 2020-01-15
In [8]: dta.select.X.str.contains('A')
Out[8]:
X Y Z
0 A 1 2020-01-01
3 A 4 2020-01-04
6 A 7 2020-01-07
9 A 10 2020-01-10
12 A 13 2020-01-13
In [9]: dta.select.Z.dt.is_month_start
Out[9]:
X Y Z
0 A 1 2020-01-01
它也适用于Series。
In [10]: dta.X.select == 'A'
Out[10]:
0 A
3 A
6 A
9 A
12 A
Name: X, dtype: object
尽管字符串和日期时间访问器API略有不同。现在它们都可通过select访问器访问。
In [11]: dta.X.select.str.contains('B')
Out[11]:
1 B
4 B
7 B
10 B
13 B
Name: X, dtype: object
要求
pandas >= 1.1
安装
pip install pandas-selectable
项目详情
关闭
pandas_selectable-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 441dcaa7d5b813416b11d3698e6008e0352ec955268549c1476cdb45e86809ee |
|
MD5 | 08686a408e7153afc95d10820d0ff4f5 |
|
BLAKE2b-256 | 6179c2ee42b7b1d5ab96eca3ef8abf8cf4bd1a6e5ac977cc66fbaefe9be7bb31 |