审计技能|Python语句(四):常用查询函数

1.分组聚合函数(groupby)#

类似SQL的groupby那样的数据透视功能。可以使用pandas库的groupby函数来实现分组聚合操作。

举例:

有一个A表,分别有甲项目和乙项目,甲项目连续两年的销售为50万元和54万元,乙项目连续两年的销售额为74万元和56万元。

现在求甲项目和乙项目的各自销售额之和,具体如下: 代码:

import pandas as pd

## 创建A表
data = {'项目名称': ['甲项目', '甲项目', '乙项目', '乙项目'], '销售额': [50, 54, 74, 56]}
df = pd.DataFrame(data)

## 按照“项目名称”进行聚合统计
grouped = df.groupby('项目名称')
result = grouped.sum()

## 打印结果
print(result)

运行结果:

销售额 项目名称
乙项目 130
甲项目 104

2.时间转换函数(to_datetime)#

可以使用pandas库的to_datetime函数来实现时间转换操作。

举例:将分秒的时间转换为日期

Date Sales
2020-01-01 10:30:00 1000
2020-01-02 15:20:00 1500
2020-01-03 18:40:00 2000

代码:

import pandas as pd

data = pd.DataFrame({'Date': ['2020-01-01 10:30:00', '2020-01-02 15:20:00', '2020-01-03 18:40:00'],
'Sales': [1000, 1500, 2000]})

data['Date'] = pd.to_datetime(data['Date']).dt.date
print(data)

运行结果:

Date Sales
2020-01-01 1000
2020-01-02 1500
2020-01-03 2000

3.分列函数(str.split)#

在Python中,可以使用pandas库的str.split函数来实现分列操作。

举例:将地址列按照逗号分隔符进行拆分,并将拆分后的结果存储到城市列和省份列中。

数据示例:

Customer Address
A Beijing,China
B Shanghai,China
C New York,United States

代码:

import pandas as pd
data = pd.DataFrame({
    'Customer': ['A', 'B', 'C'],
    'Address': ['Beijing,China', 'Shanghai,China', 'New York,United States']})
data[['City', 'Country/Region']] = data['Address'].str.split(',', expand=True)

print(data[['City', 'Country/Region']])

运行结果:

City Country/Region
0 Beijing/China
1 Shanghai/China
2 New York/United States