居民用电行为分析代码解析

Python数据分析代码详细解读

代码逐行解析

读取CSV文件

# 读取每日平均用电量数据 daily_avg = pd.read_csv('1-1.csv')

解析

数据类型转换

# 确保 '日平均电量' 是整数类型 daily_avg['日平均电量'] = daily_avg['日平均电量'].astype(int)

解析

计算统计指标

# 计算统计指标 stats = { '最大值': daily_avg['日平均电量'].max(), '最小值': daily_avg['日平均电量'].min(), '中位数': daily_avg['日平均电量'].median().round(0), '第一四分位数': daily_avg['日平均电量'].quantile(0.25).round(0), '第三四分位数': daily_avg['日平均电量'].quantile(0.75).round(0), '众数': daily_avg['日平均电量'].mode()[0] if not daily_avg['日平均电量'].mode().empty else None }

构建DataFrame

# 构建 DataFrame 并设置列名 stats_df = pd.DataFrame(list(stats.items()), columns=['数据类型', '日均用电量'])

数据类型转换

# 强制将 '日均用电量' 转换为整数类型,去掉 .0 stats_df['日均用电量'] = stats_df['日均用电量'].astype(int)

保存结果

# 保存结果 stats_df.to_csv('1-2.csv', index=False) print("✅ 已生成文件:1-2.csv")

详细语法教程

pandas库基础

pandas是Python中最重要的数据分析库,主要包含两种数据结构:

文件读取函数详解

pd.read_csv(filepath, sep=',', header=0, names=None, dtype=None, ...)

主要参数

参数 说明
filepath 文件路径(必需)
sep 分隔符,默认逗号
header 指定哪行作为列名,默认0(第一行)
names 自定义列名列表
dtype 指定列的数据类型

数据类型转换方法

.astype(dtype)

支持的dtype

统计函数详解

字典操作

stats.items() # 返回字典的键值对列表 list(stats.items()) # 转换为列表

DataFrame创建

pd.DataFrame(data, columns=None, index=None)

参数

文件保存函数

DataFrame.to_csv(path, index=True, header=True, ...)

主要参数

参数 说明
path 保存路径(必需)
index 是否保存行索引,默认True
header 是否保存列名,默认True
encoding 文件编码

代码功能总结

这个代码的主要功能是:

  1. 数据读取:从CSV文件读取居民用电数据
  2. 数据清洗:确保电量数据为整数类型
  3. 统计分析:计算最大值、最小值、中位数、四分位数、众数等统计指标
  4. 结果整理:将统计结果整理成表格格式
  5. 结果保存:将分析结果保存到新的CSV文件

注意事项

  • 众数处理:代码使用了条件判断来处理可能没有众数的情况
  • 数据类型一致性:多次使用astype(int)确保数据格式统一
  • 文件依赖:代码依赖于1-1.csv文件的存在
  • 输出格式:最终结果会保存为1-2.csv,不包含行索引

这个代码展示了典型的数据分析流程:读取→清洗→分析→输出,是pandas数据分析的经典范例。