python - 如何找到两个数据框中都没有出现的数据(特别是列名)?
问题描述
我有 2 个数据框(足够大)。他们有列:ch_name、时间、值。现在,df(第一个数据帧)有 160 个通道,但 df1(第二个数据帧)有 161 个通道。如何识别过度的频道名称(df 没有此频道但 df1 有)。有时通道名称在 2 个数据帧之间不匹配。最后,我想要 2 个具有相同通道名称和编号的数据帧(单独)。我想为两个数据框制作 160 个频道。我不想加入或连接它们。
ch_name time value interval
0 ADCS.Attitude_-_Omega_Y_deg_s 2019-01-05 00:00:00 -0.059533 60.0
1 ADCS.Attitude_-_Omega_Y_deg_s 2019-01-05 00:01:00 -0.063133 60.0
2 ADCS.Attitude_-_Omega_Y_deg_s 2019-01-05 00:02:00 -0.057533 60.0
3 ADCS.Attitude_-_Omega_Y_deg_s 2019-01-05 00:03:00 -0.053867 60.0
4 ADCS.Attitude_-_Omega_Y_deg_s 2019-01-05 00:04:00 -0.067067 60.0
... ... ... ... ...
1435 ADCS.RW3_MsmtValid 2019-01-05 23:55:00 1.000000 60.0
1436 ADCS.RW3_MsmtValid 2019-01-05 23:56:00 1.000000 60.0
1437 ADCS.RW3_MsmtValid 2019-01-05 23:57:00 1.000000 60.0
1438 ADCS.RW3_MsmtValid 2019-01-05 23:58:00 1.000000 60.0
1439 ADCS.RW3_MsmtValid 2019-01-05 23:59:00 1.000000 60.0
解决方案
您可以使用设置逻辑执行此操作:
df = pd.DataFrame(columns = ['a1', 'ba1', 'b1', 'c1'])
df1 = pd.DataFrame(columns = ['a1', 'gg', 'b1', 'c2'])
df
a1 ba1 b1 c1
df1
a1 gg b1 c2
要从 df 中删除 df1 中的列:
df.drop(columns = set(df.columns) - set(df1.columns), inplace=True)
df
a1 b1
推荐阅读
- firebase - 用于“秘密”网址共享的 Firebase 实时数据库规则
- react-native - Array Map 和 onPress 不会触发
- python - 保存文件输出
- azure - SignalR with Azure - 在发布配置与调试配置(.net core 3.1)上默认由 Azure.SignalR 服务强制执行
- c++ - 即使使用完整路径,ifstream 也无法在 XCode 中打开文件[已解决]
- docker - docker-compose 如何添加多个命令?
- firebase - Firebase Analytics:如何为 Firebase Analytics 获取和集成 UA 类型测量 ID 而不是 G 类型测量 ID?
- amazon-web-services - 新修改的文件,在 CMD 中创建并列出大文件
- javascript - 样式化的组件嵌套规则不起作用
- c++ - 基类虚拟析构函数——五法则?