python使用panda读取xlsx文件,将季度数据处理成年度数据,其中拥有多个实际控制人及行业代码的只保留第一个数值
时间: 2024-03-03 16:53:20 浏览: 115
好的,我理解了你的问题。你可以使用 Pandas 中的 groupby 和 apply 函数来实现这个功能。以下是一些示例代码:
```python
import pandas as pd
# 读取 xlsx 文件
df = pd.read_excel('your_file.xlsx')
# 将日期转换为年份
df['year'] = pd.DatetimeIndex(df['date']).year
# 定义一个函数来处理每个分组
def handle_group(group):
# 取第一个实际控制人和行业代码
first_owner = group['actual_controller'][0]
first_industry_code = group['industry_code'][0]
# 将季度数据求和,得到年度数据
annual_data = group[['data']].sum()
# 将第一个实际控制人和行业代码添加到年度数据中
annual_data['actual_controller'] = first_owner
annual_data['industry_code'] = first_industry_code
return annual_data
# 对每个年份和实际控制人进行分组,并应用处理函数
annual_data = df.groupby(['year', 'actual_controller']).apply(handle_group).reset_index()
# 保存结果到 xlsx 文件
annual_data.to_excel('your_output_file.xlsx', index=False)
```
这段代码实现了以下功能:
1. 读取 xlsx 文件并将日期转换为年份
2. 对每个年份和实际控制人进行分组
3. 对每个分组应用处理函数,该函数将第一个实际控制人和行业代码保留,并将季度数据求和得到年度数据
4. 将处理后的数据保存到 xlsx 文件中
你可以根据自己的数据格式和要求进行相应的修改。
阅读全文