python - 删除 NANS 列 WISE 并加入原始数据框
问题描述
我有一个带有 1000 列的 pandas 数据框,这些列是我从 sql pivot 获得的。其中一些列有一个子字符串(比如包含 ALPHA)。现在数据框的样子是这样的:(这里显示的示例是 5 个 ALPHA 列)。
数据的特征是,对于 Cols A 到 ColE 的每个唯一组合,每个 alpha 列最多有一个非空值
input_df
ColA ColB ColC ColD ColE ALPHA_1 ALPHA_2 ALPHA_3 ALPHA_4 ALPHA_5.......
x y z p q NAN 1 NAN NAN 2
x y z p q 2 NAN NAN NAN NAN
x y z p q NAN NAN 11 NAN NAN
x y z p q NAN NAN NAN 15 NAN
u v w z k 11 NAN NAN NAN 1
u v w z k NAN NAN 34 NAN NAN
u v w z k NAN 6 NAN NAN NAN
u v w z k NAN NAN NAN 76 NAN
b d y s t NAN 4 NAN NAN NAN
b d y s t NAN NAN 8 NAN 80
b d y s t NAN NAN NAN 9 NAN
b d y s t 88 NAN NAN NAN NAN
我正在寻找的是从列中删除所有 NANS 并在 Cols AE 相同时将它们组合并合并它们。所以数据应该看起来像
output_df
ColA ColB ColC ColD ColE ALPHA_1 ALPHA_2 ALPHA_3 ALPHA_4 ALPHA_5 .......
x y z p q 2 1 11 15 2
u v w z k 11 6 34 76 1
u v w z k NAN NAN 34 NAN NAN
u v w z k NAN 6 NAN NAN NAN
u v w z k NAN NAN NAN 76 3
b d y s t 88 4 8 9 8
我的计划是创建一个从 ColA 到 Col E 的 Cols
子集,然后创建一个仅包含 alpha 的 cols 子集,然后从第一个数据帧(keydf)中删除重复项,然后从第二个数据帧中的每个列中删除 NANS数据框(newdf),然后按索引连接两个数据框。
keydf = input_df.loc[:, input_df.columns.str.contains('COL')]
newdf = input_df.loc[:, input_df.columns.str.contains('ALPHA')]
但是,我被困在这个阶段,不知道如何进行。任何帮助将不胜感激。
解决方案
推荐阅读
- elisp - 我需要我的函数使用 LISP while 循环和欧几里得算法返回给定输入的 GCD 我得到的输出是 0
- sql - 更新表时触发重新运行 SQL 查询
- debugging - 调试:无法将预期类型“GHC.Types.Bool”与实际类型“Bool”匹配
- oracle - select * FROM ALL_OBJECTS 不显示所有包,但 DBMS_METADATA.GET_DDL 将显示丢失对象的 DDL
- rust - 如何从 regex::Match 中提取数据
- c# - 合并列表
按字母顺序进入另一个 - android - Xamarin.UITest:如何在 DatePicker 组件上设置日期?
- python - 使用 FuncAnimation 在 Python 中为不同轨道上的多个点设置动画
- typescript - 排除枚举但仍返回 TypeScript 中的枚举
- python - 带有上下文菜单的 QTreeWidget,无法获取正确的项目