Skip to main content

对pandas进行配置文件操作,用yml文件对pandas进行操作,无须写一行代码即可分析数据。

Project description

pyaxe-pandas

对pandas进行配置文件操作,用yml文件对pandas进行操作,无须写一行代码即可分析数据。

安装

pip install pyaxe-pandas

执行

from pyaxe_pandas import YamlPandas
import pandas as pd
df=pd.DataFrame()

yp = YamlPandas(df=df, yml='yaml配置文件地址')
result = yp.resolve_config(yp.read_yaml())
for data in result:
    print(data)

语法文档

语法文档

生成初始化数据

import pandas as pd
import random

random.seed(100)
df=pd.DataFrame({'age':[random.randint(10,100) for i in range(2000)],'sex':['男' if random.randint(10,100)%2==0 else '女' for i in range(2000)]})
'''
age	sex
0	28	女
1	68	女
2	68	女
3	32	女
4	100	男
...	...	...
1995	14	女
1996	33	女
1997	23	男
1998	92	女
1999	76	女
2000 rows × 2 columns
'''

一系列过滤操作

# df
#   age	sex
#0	28	女
#1	68	女
#2	68	女
#3	32	女
#4	100	男
#...	...	...
#1995	14	女
#1996	33	女
#1997	23	男
#1998	92	女
#1999	76	女
#2000 rows × 2 columns

# 1、 大于50岁的人
version: 1.1.0
operations:
  - operation:
      name: query
      exe: age > 60 and sex =="男"
---

# 2、 大于60岁的男人
version: 1.1.0
operations:
  - operation:
      name: query
      exe: age > 60 and sex =="男"
---

# 3、 大于30岁的男人或者小于70岁的女人
version: 1.1.0
operations:
  - operation:
      name: query
      exe: (age > 60 and sex =="男") or (age < 70 and sex=="女")
---

# 4、 大于平均年龄的女人
version: 1.1.0
operations:
  - operation:
      name: query
      exe: age > age.mean() and sex =="女"

条件过滤

version: 1.1.0
operations:
  - operation:
      name: query
      switch:
        - regex: 大于50岁 # 大于50岁的人
          arg: text # 匹配的参数
          exe: age > 50
          stop: true

        - regex: 大于60岁.+男 # 大于60岁的男人
          arg: text
          exe: age > 60 and sex =="男"
          stop: true

        - regex: .+30岁的男人或者小于70岁的女人 # 大于30岁的男人或者小于70岁的女人
          arg: text
          exe: (age > 60 and sex =="男") or (age < 70 and sex=="女")
          stop: true

        - regex: 平均年龄.+女人 # 大于平均年龄的女人
          arg: text
          exe: age > age.mean() and sex =="女"
          stop: true

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pyaxe-pandas, version 2020.8.18
Filename, size File type Python version Upload date Hashes
Filename, size pyaxe_pandas-2020.8.18-py3-none-any.whl (8.2 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page