python - 在多个 Pandas DataFrames 中基于相同条件选择行
问题描述
我正在使用 Python 3.7,并且正在尝试根据相同的条件从多个 Pandas DataFrame 中选择行。
特别是,假设我有一个 DataFrame,df,有两列 = ['Name', 'Gender'],而 'Gender' 列只能取三个值 'M'、'F'、'U'。
我的目标是选择性别等于“M”或“F”的行。但是,我将不得不为具有相同列的多个数据框进行此选择,因此我试图使用 lambda 函数将条件存储在一个对象中,如下所示:
_M = (lambda x: x['Gender']=='M')
_F = (lambda x: x['Gender']=='F')
new_df = df.loc[_M | _F]
但是,它会引发以下异常:
"TypeError: unsupported operand type(s) for |: 'function' and 'function'"
因此我尝试用'|'代替 对于“或”:
new_df = df.loc[_M or _F]
在这种情况下,我没有收到任何错误,但它仅根据 _M 条件选择行。
(请注意,我想将 _M 和 _F 作为单独的条件,因为我需要在稍后阶段分别处理 Gender=='M' 和 Gender='F' 的行。)
编辑:因此,我的问题是如何以有效的方式使用相同的条件从不同的 pandas 数据框中选择行。更一般地说,我想知道使用 lambda 函数(如果有)组合条件的正确方法是什么。
谢谢!
解决方案
尝试分别分配两个变量,即。new_df = df.loc[_M] new_df = df.loc[_F] 希望这会有所帮助.......
推荐阅读
- java - 如何将 DeviceGray 颜色转换为 rgb?
- javascript - 模态页面在物理设备上显示页面阴影,在模拟器上没有
- docker - 我可以从 Windows 2016 上托管的 docker 在 dotnet core 3.0 应用程序上运行 dotnetcore 吗?
- c++ - 在特定位置将多个值插入向量中
- angular6 - 角度 7 的数据加载成功事件
- ssis - SSIS 数据流:将辅助流加入主流
- c - 关于在 C 中处理具有相同签名的多个函数的代码质量问题
- python - 如何不使用 Json 文件而是使用 python dict 设置 Google Firebase 凭据?
- php - 在 PHP 中添加到数组时添加值
- android - Cooutin 执行任务