行者孙Python

进货篇-Day6|切配预备:查看行列、索引、列名、数据类型

📖 知识点

1. shape:看行列数

df.shape
# 返回 (行数, 列数),如 (6, 3)

一眼知道这张桌上有几行菜、几列字段。

2. columns:看列名

df.columns
# 返回所有列名,如 Index(['菜名','价格','数量'], dtype='object')

知道有哪些 "字段"(每列叫什么)。

3. index:看行索引

df.index
# 返回索引,如 RangeIndex(start=0, stop=6, step=1)

每行都有一个 "编号"(索引),默认从 0 开始自动编号。

4. dtypes:看每列数据类型

df.dtypes
# 返回每列类型:菜名 object、价格 int64、数量 int64

知道每列是文本(object)、整数(int64)还是小数(float64)。

完整示例

import pandas as pd

data = {
    "菜名": ["白菜", "番茄", "土豆", "黄瓜"],
    "价格": [3, 5, 2, 4],
    "数量": [10.5, 20.0, 30.0, 15.0],
}
df = pd.DataFrame(data)

print("行数、列数:", df.shape)
print("列名:", df.columns)
print("行索引:", df.index)
print("每列类型:\n", df.dtypes)

💡 四招总结

方法 / 属性作用
df.shape几行几列
df.columns有哪些列名
df.index行索引怎么排
df.dtypes每列数据类型

⚠️ 易错提醒

  1. 这些是属性,不加括号(df.columns 不是 df.columns())
  2. 数据类型决定能做什么运算:数字列能加、能算均值,文本列不能
  3. 类型不对是后续分析的常见坑,先看清再动手

⚔️ Kata 实战任务

任务需求:

  1. 导入 pandas,创建一个含文本和数值的 DataFrame
  2. 用 df.shape 查看行列数
  3. 用 df.columns 查看列名
  4. 用 df.index 查看行索引
  5. 用 df.dtypes 查看每列类型
  6. 打印全部结果

参考代码

import pandas as pd

data = {
    "菜名": ["白菜", "番茄", "土豆", "黄瓜"],
    "价格": [3, 5, 2, 4],
    "数量": [10.5, 20.0, 30.0, 15.0],
}
df = pd.DataFrame(data)

# 切配预备:摸清食材桌结构
print("📐 表格形状(行, 列):", df.shape)
print("🏷️ 列名:", list(df.columns))
print("🔢 行索引:", list(df.index))
print("🧬 每列数据类型:")
print(df.dtypes)

运行输出:

📐 表格形状(行, 列): (4, 3)
🏷️ 列名: ['菜名', '价格', '数量']
🔢 行索引: [0, 1, 2, 3]
🧬 每列数据类型:
菜名    object
价格     int64
数量    float64
dtype: object

🧠 思考题

  1. df.shape 返回的 (4, 3) 哪一个是行、哪一个是列?
  2. 为什么 "数量" 列是 float64(小数)而 "价格" 是 int64(整数)?这和数据内容有什么关系?
‹ 返回目录
🏠首页 Python 📦资源 👤关于我