进货篇-Day7|厨房实战 Kata:综合读取 + 概览一个真实数据集

0 次阅读 2026-10-21 14:35

📖 知识点回顾

  1. pd.read_csv() / read_excel() / read_json() 读取数据
  2. pd.DataFrame() 从字典 / 列表创建
  3. head() / tail() 看头看尾
  4. info() 看结构、describe() 看统计
  5. shape / columns / index / dtypes 摸清布局

💡 项目套路(进货鉴货流程) 读入数据 → 看前几行 → 看结构 info → 看数值统计 describe → 摸清列与类型 → 得出整体认识

⚔️ Kata 实战任务

任务需求:

  1. 导入 pandas
  2. 用 pd.DataFrame() 创建一份 "水果销售数据"(含:水果名、单价、销量、是否为当季)
  3. 用 head() 看前几行,tail() 看后几行
  4. 用 info() 查看整体结构
  5. 用 describe() 查看数值列统计
  6. 用 shape / columns / dtypes 补充结构信息
  7. 打印 "鉴货总结"

参考代码

import pandas as pd

# 进货:创建一份水果销售数据
data = {
    "水果": ["苹果", "香蕉", "橙子", "葡萄", "西瓜", "草莓"],
    "单价": [6, 3, 5, 8, 4, 12],
    "销量": [100, 80, 60, 50, 120, 40],
    "当季": ["否", "是", "是", "是", "是", "否"],
}
df = pd.DataFrame(data)

# ===== 鉴货流程 =====
print("===== 1. 看前3行 =====")
print(df.head(3))

print("\n===== 2. 看后2行 =====")
print(df.tail(2))

print("\n===== 3. 结构概览 info =====")
df.info()

print("\n===== 4. 数值统计 describe =====")
print(df.describe())

print("\n===== 5. 布局信息 =====")
print("形状(行,列):", df.shape)
print("列名:", list(df.columns))
print("每列类型:")
print(df.dtypes)

print("\n✅ 鉴货完成!这是一张", df.shape[0], "行", df.shape[1], "列的水果销售表")

运行输出:

===== 1. 看前3行 =====
   水果  单价  销量  当季
0  苹果    6  100   否
1  香蕉    3   80   是
2  橙子    5   60   是

===== 2. 看后2行 =====
   水果  单价  销量  当季
4  西瓜    4  120   是
5  草莓   12   40   否

===== 3. 结构概览 info =====
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   水果     6 non-null      object
 1   单价     6 non-null      int64
 2   销量     6 non-null      int64
 3   当季     6 non-null      object
dtypes: int64(2), object(2)

===== 4. 数值统计 describe =====
           单价        销量
count   6.000000    6.00000
mean   6.333333   75.00000
std    3.326660   30.33150
min    3.000000   40.00000
25%    4.250000   52.50000
50%    5.500000   70.00000
75%    7.500000   95.00000
max   12.000000  120.00000

===== 5. 布局信息 =====
形状(行,列): (6, 4)
列名: ['水果', '单价', '销量', '当季']
每列类型:
水果    object
单价     int64
销量     int64
当季    object
dtype: object

✅ 鉴货完成!这是一张 6 行 4 列的水果销售表

🧠 思考题

  1. 通过 describe() 你能读出这份水果数据哪些信息?(哪两种水果销量最高 / 最低?)
  2. 如果数据是从 CSV 读入的,本课流程哪一步需要改动?怎么改成 "读文件→概览"?