在deepseek中输入提示词:
你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下:
读取Excel表格:"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx"
计算第2列第1行-20行数据组的:
最大值
最小值
均值
中位数
极差
方差
标准差
20%分位数
25%分位数
75%分位数
80%分位数
将计算结果写入第2列第21行-31行;
然后按照上面的计算步骤一直计算到第15列第21行-31行;
计算第2列第1行(设为数据起点)到第15列第1行(设为数据终点)数据组的简单年均增长率,写入第16列第1行,然后计算第2行,第3行数据,一直计算到第20行;
计算第2列第1行(设为数据起点)到第15列第1行(设为数据终点)数据组的复合年均增长率,然后计算第2行,第3行数据,一直计算到第20行;
注意:每一步都输出信息到屏幕
一步步的思考,但是代码要整合在一起
计算复合年均增长率的时候,年数n是固定值:13
源代码:
import pandas as pd
import numpy as np
读取Excel文件
file_path = "F:\\AI自媒体内容\\AI行业数据分析\\toolify月榜\\toolify2023年-2024年月排行榜汇总数据.xlsx"
df = pd.read_excel(file_path)
计算第2列到第15列的统计量并写入新的单元格
for i in range(1, 15):
data = df.iloc[0:20, i] # 第i列的数据
stats = {
'最大值': np.max(data),
'最小值': np.min(data),
'均值': np.mean(data),
'中位数': np.median(data),
'极差': np.ptp(data),
'方差': np.var(data),
'标准差': np.std(data),
'20%分位数': np.percentile(data, 20),
'25%分位数': np.percentile(data, 25),
'75%分位数': np.percentile(data, 75),
'80%分位数': np.percentile(data, 80)
}
将计算结果写入新的单元格
for j, (stat_name, stat_value) in enumerate(stats.items(), start=20):
df.iloc[j, i] = stat_value
print(f"第{i+1}列的{stat_name}已经写入第{j+1}行。")
计算简单年均增长率并写入第16列
for i in range(1, 21):
start_value = df.iloc[i-1, 1] # 起点数据
end_value = df.iloc[i-1, 14] # 终点数据
growth_rate = ((end_value - start_value) / start_value) * 100
df.iloc[i-1, 15] = growth_rate
print(f"第{i}行的简单年均增长率已经写入第16列。")
计算复合年均增长率(假设年数为13年)并写入第17列
n = 13 # 固定年数
for i in range(1, 21):
start_value = df.iloc[i-1, 1] # 起点数据
end_value = df.iloc[i-1, 14] # 终点数据
compound_growth_rate = ((end_value / start_value) ** (1/n) - 1) * 100
df.iloc[i-1, 16] = compound_growth_rate
print(f"第{i}行的复合年均增长率(假设年数为13年)已经写入第17列。")
将更新后的DataFrame写入Excel文件
with pd.ExcelWriter(file_path, engine='openpyxl', mode='a', if_sheet_exists='overlay') as writer:
df.to_excel(writer, sheet_name='Sheet1', startrow=1, startcol=0, index=False)
print("所有计算结果已经写入Excel文件。")