“Column(列)冗余”通常指数据库表设计或数据分析中,存在多余、重复或可由其他列推导出来的列。处理方式要分场景来看:
常见冗余类型:
age 可由 birth_date 算出user_name 在订单表重复存(应存 user_id)phone1、phone2、phone3✅ 范式优先(3NF):减少冗余,保证一致性
✅ 适度反范式:读多写少、性能要求高时可冗余
-- 不存 age,查询时算
SELECT YEAR(CURDATE()) - YEAR(birth_date) AS age
订单表: user_id(外键)
用户表: user_id, user_name
phone1/phone2 → phones (JSON 或关联表)
CREATE VIEW user_view AS
SELECT id, YEAR(NOW())-YEAR(birth_date) AS age
FROM user;
# 删除重复列
df = df.loc[:, ~df.columns.duplicated()]
# 删除常量列
df = df.drop(columns=df.nunique()[df.nunique()<=1].index)
# 删除高相关列
corr = df.corr().abs()
如果你能说明是数据库表、数仓、还是代码里的 DataFrame,我可以给更具体的方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。