🐼 Pandas 基础回顾

Series 与 DataFrame · 创建 · 属性 · 索引切片 · 数据类型
📌 创建 Series & DataFrame

🌟 从列表、字典、NumPy 数组快速构建

结构创建方式示例代码
Seriespd.Series(data, index)
s = pd.Series([10, 20, 30], index=['a','b','c'])
DataFramepd.DataFrame(dict)
df = pd.DataFrame({'姓名': ['小智','小霞'], '分数': [95, 88]})
从 NumPypd.DataFrame(np.array)
df = pd.DataFrame(np.random.rand(3,2), columns=['X','Y'])
import pandas as pd
import numpy as np

# 创建 Series
s1 = pd.Series([5, 6, 7, 8], index=['春','夏','秋','冬'])
print(s1)

# 创建 DataFrame (字典)
df_students = pd.DataFrame({
    '姓名': ['小明', '小红', '小刚'],
    '年龄': [10, 11, 10],
    '爱好': ['画画', '唱歌', '编程']
})
print(df_students)
🔍 基本属性 · 一览
🏷️ .shape
📋 .dtypes
🧾 .columns
🔢 .index
📊 .values
📏 .size
📌 .ndim
🧩 Series 🗂️ DataFrame .values → array .index → RangeIndex .dtype → int64/object .shape → (n,) .values → ndarray .columns → Index .dtypes → Series .shape → (n, m)
✂️ 索引与切片 · 灵活访问
# 索引切片实战
df = pd.DataFrame({'水果': ['苹果','香蕉','橘子','葡萄'],'数量': [12, 8, 15, 7]})
print(df.loc[1:2, '水果'])   # 标签切片
print(df.iloc[0:2, 0])       # 位置切片
print(df[df['数量'] >= 10])  # 布尔索引
🧬 常用数据类型 · dtypes
Pandas 类型Python / NumPy 对应说明
int64int, np.int64整数数值
float64float, np.float64浮点数
objectstr, 混合类型字符串或混合
boolbool, np.bool_布尔值
datetime64[ns]datetime时间日期
categorypd.Categorical分类数据,节省内存
# 查看 & 转换数据类型
df = pd.DataFrame({'A': [1,2,3], 'B': [1.5, 2.5, 3.5], 'C': ['x','y','z']})
print(df.dtypes)
df['A'] = df['A'].astype('float64')
df['C'] = df['C'].astype('category')
print(df.dtypes)
int64 float64 object category

✨ 回顾要点

  • Series 一维带标签数组,类似字典+列表
  • DataFrame 二维表格,多列Series组成
  • 索引 灵活使用 loc / iloc / 布尔
  • dtype 决定内存与操作效率,善用 astype() 与 category