Python pandas库DataFrame

1. 创建 DataFrame

import pandas as pd

# 从字典创建
data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "City": ["New York", "Paris", "London"]
}
df = pd.DataFrame(data)

2. 基础操作 

操作代码示例
查看前5行df.head()
查看后3行df.tail(3)
获取维度df.shape → (行数, 列数)
列名列表df.columns
数据类型df.dtypes
统计摘要df.describe()

3. 数据选择

# 选择列(返回 Series)
ages = df["Age"] 

# 选择多列(返回 DataFrame)
name_city = df[["Name", "City"]]

# 按行索引选择行
row_1 = df.iloc[0]     # 第一行(索引从0开始)
row_last = df.iloc[-1]  # 最后一行

# 按条件筛选
young_people = df[df["Age"] < 30]  # 年龄<30的行

4. 数据修改 

# 新增列
df["Salary"] = [70000, 80000, 90000]

# 修改列
df["Age"] = df["Age"] + 1  # 所有人年龄+1

# 重命名列
df = df.rename(columns={"City": "Location"})

5. 处理缺失值

# 检查缺失值
df.isnull().sum()

# 删除含缺失值的行
df_clean = df.dropna()

# 填充缺失值
df_filled = df.fillna(0)  # 用0填充

6. 分组聚合

# 按城市分组,计算平均年龄
df.groupby("City")["Age"].mean()

# 多维度聚合
df.groupby("City").agg(
    {"Age": "mean", "Salary": ["min", "max"]}
)

7. 合并 DataFrame 

# 合并两个 DataFrame(类似 SQL JOIN)
df2 = pd.DataFrame({"Name": ["Bob", "David"], "Department": ["IT", "HR"]})
merged = pd.merge(df, df2, on="Name", how="left")  # 左连接

8. 输入/输出数据 

# 读取 CSV
df = pd.read_csv("data.csv")

# 写入 CSV
df.to_csv("output.csv", index=False)

# 读取 Excel
df = pd.read_excel("data.xlsx", sheet_name="Sheet1")

9. 进阶技巧

# 应用函数
df["Age_Group"] = df["Age"].apply(lambda x: "Young" if x < 30 else "Senior")

# 时间序列处理
df["Date"] = pd.to_datetime(df["Date"])
df["Year"] = df["Date"].dt.year

# 透视表
pivot = pd.pivot_table(df, values="Salary", index="City", columns="Age_Group")

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值