1、环境设置 引入pandas库 读取excel文件,文件名应收账款业务案例一。 2、要求排除掉客户余额为0,且2020年未与发生业务往来的客户 3、保留余额本币大于0的客户 4、根据非0客户列表,筛选应收账款数据。 5、再筛选2020年有业务往来的客户数据。 6、将两次筛选的结果并起来。 7、用groupby函数按客户名称统计应收账款。 8、数据表导出
时间: 2024-03-07 19:48:49 浏览: 94
使用pandas进行excel文件的读取写入
5星 · 资源好评率100%
感谢您的提问,以下是对您问题的回答:
这是一个数据处理的问题,需要使用Python语言进行操作。首先,您需要安装pandas库,并将要处理的excel文件放在当前工作目录下。然后,您可以按照以下步骤进行操作:
1. 引入pandas库并读取excel文件
```python
import pandas as pd
df = pd.read_excel('应收账款业务案例一.xlsx')
```
2. 排除客户余额为0且2020年未与发生业务往来的客户
```python
# 获取2020年有业务往来的客户列表
customer_list = df[df['日期'].dt.year == 2020]['客户名称'].unique()
# 获取客户余额不为0的列表
balance_nonzero = df[df['客户余额'] != 0]['客户名称'].unique()
# 获取需要保留的客户列表
customer_keep = list(set(balance_nonzero) & set(customer_list))
# 筛选数据
df = df[df['客户名称'].isin(customer_keep)]
```
3. 保留余额本币大于0的客户
```python
df = df[df['余额本币'] > 0]
```
4. 筛选应收账款数据
```python
df = df[df['业务类型'] == '应收账款']
```
5. 筛选2020年有业务往来的客户数据
```python
df = df[df['客户名称'].isin(customer_list)]
```
6. 将两次筛选的结果合并
```python
df = df[df['客户名称'].isin(customer_keep) & df['日期'].dt.year == 2020 & df['业务类型'] == '应收账款']
```
7. 按客户名称统计应收账款
```python
result = df.groupby('客户名称')['余额本币'].sum()
```
8. 将结果导出到excel文件中
```python
result.to_excel('result.xlsx')
```
以上就是对您问题的回答,希望能够帮助到您。
阅读全文