Pandas数据处理(3): 数据分箱与行列名修改

6、数据分箱

import pandas as pd
import numpy as np
df=pd.read_csv("data/employees.csv").head(10)
df
employee_id name department position salary hire_date
0 EMP001 赵洋 产品部 数据分析师 3765 2022-02-02
1 EMP002 周磊 运营部 数据运营 5772 2021-11-25
2 EMP003 刘洋 产品部 需求分析师 2608 2024-09-29
3 EMP004 吴伟 市场部 活动执行 4699 2023-12-08
4 EMP005 张勇 人事部 培训专员 9277 2023-09-19
5 EMP006 李敏 人事部 招聘专员 3619 2021-09-05
6 EMP007 刘军 市场部 活动执行 3094 2025-05-05
7 EMP008 杨静 技术部 后端开发 3398 2024-07-19
8 EMP009 王伟 产品部 产品助理 3068 2023-06-24
9 EMP010 吴勇 市场部 市场策划 2278 2023-03-17
#均分成三段
pd.cut(df["salary"],bins=3).value_counts()
salary
(2271.001, 4611.0]    7
(4611.0, 6944.0]      2
(6944.0, 9277.0]      1
Name: count, dtype: int64
#自行定义分段范围
df["收入范围"]=pd.cut(df["salary"],bins=[0,2500,5000,10000],labels=["低","中","高"])
df
employee_id name department position salary hire_date 收入范围
0 EMP001 赵洋 产品部 数据分析师 3765 2022-02-02
1 EMP002 周磊 运营部 数据运营 5772 2021-11-25
2 EMP003 刘洋 产品部 需求分析师 2608 2024-09-29
3 EMP004 吴伟 市场部 活动执行 4699 2023-12-08
4 EMP005 张勇 人事部 培训专员 9277 2023-09-19
5 EMP006 李敏 人事部 招聘专员 3619 2021-09-05
6 EMP007 刘军 市场部 活动执行 3094 2025-05-05
7 EMP008 杨静 技术部 后端开发 3398 2024-07-19
8 EMP009 王伟 产品部 产品助理 3068 2023-06-24
9 EMP010 吴勇 市场部 市场策划 2278 2023-03-17
#等频率分割
pd.qcut(df["salary"],4).value_counts()
salary
(2277.999, 3074.5]    3
(4465.5, 9277.0]      3
(3074.5, 3508.5]      2
(3508.5, 4465.5]      2
Name: count, dtype: int64
#ser_index函数用于修改index列
df=pd.DataFrame({
    "name":["A","B","C","D"],
    "age":[20,30,40,50],
    "gender":["Female","Male","Female","Female"]
})
df.set_index("name")
# df.reset_index()
df
name age gender
0 A 20 Female
1 B 30 Male
2 C 40 Female
3 D 50 Female

7、行列名修改

#rename函数用于修改columns和index
df.rename(columns={"name":"姓名"},index={0:4})
姓名 age gender
4 A 20 Female
1 B 30 Male
2 C 40 Female
3 D 50 Female
#也可以直接用访问修改
df.index=[10,20,30,40]
df.columns=["姓名","年龄","性别"]
df
姓名 年龄 性别
10 A 20 Female
20 B 30 Male
30 C 40 Female
40 D 50 Female
********************
posted @ 2026-03-06 23:28  wangzy336  阅读(2)  评论(0)    收藏  举报