Python Pandas Concat“WHERE”满足条件

2024-03-18

如何“连接”许多 Python Pandas 数据帧中的特定列,其中许多数据帧中每个数据帧中的另一列满足特定条件(此处通俗地称为条件“X”)。

在 SQL 中,使用 JOIN 子句和 WHERE df2.Col2 = "X" 和 df3.Col2 = "X" 和 df4.col2 = "X"... 等(可以动态运行)会很简单。

就我而言,我想创建一个大数据帧,其中包含多个数据帧中每个数据帧的所有“Col1”,但仅包含相应的 Col2 行值大于“0.8”的 Col1 行值。当不满足此条件时,Col1 值应为“NaN”。

任何想法都会非常有帮助!提前致谢!


考虑list dfs of pd.DataFrames

import pandas as pd
import numpy as np


np.random.seed([3,1415])
dfs = [pd.DataFrame(np.random.rand(10, 2),
                    columns=['Col1', 'Col2']) for _ in range(5)]

我会用pd.concat to join

原始连接
堆栈值而不考虑它来自哪里

pd.concat([d.Col1.loc[d.Col2.gt(.8)] for d in dfs], ignore_index=True)

0     0.850445
1     0.934829
2     0.879891
3     0.085823
4     0.739635
5     0.700566
6     0.542329
7     0.882029
8     0.496250
9     0.585309
10    0.883372
Name: Col1, dtype: float64

加入源信息
使用keys范围

pd.concat([d.Col1.loc[d.Col2.gt(.8)] for d in dfs], keys=range(len(dfs)))

0  3    0.850445
   5    0.934829
   6    0.879891
1  1    0.085823
   2    0.739635
   7    0.700566
2  4    0.542329
3  3    0.882029
   4    0.496250
   8    0.585309
4  0    0.883372
Name: Col1, dtype: float64

另一种方法
use query

pd.concat([d.query('Col2 > .8').Col1 for d in dfs], keys=range(len(dfs)))

0  3    0.850445
   5    0.934829
   6    0.879891
1  1    0.085823
   2    0.739635
   7    0.700566
2  4    0.542329
3  3    0.882029
   4    0.496250
   8    0.585309
4  0    0.883372
Name: Col1, dtype: float64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Pandas Concat“WHERE”满足条件 的相关文章

随机推荐

  • Swift:“后台会话不支持完成处理程序块。请改为使用代表。

    我是 Swift 新手 因此经验不是很丰富 我不知道为什么这不起作用 我正在尝试下载音乐文件 然后将其发送到 AVAudoPlayer 进行播放 这是代码 IBAction func startDownload sender Any wea
  • PHP 将所有 url 转换为 html 链接 [重复]

    这个问题在这里已经有答案了 可能的重复 将文本中的 URL 替换为 HTML 链接 https stackoverflow com questions 1188129 replace urls in text with html links
  • Python 和 PyQt 中的线程错误

    我注意到当函数setModel http doc trolltech com 4 0 qabstractitemview html setModel在并行线程中执行 我尝试了 threading Timer 或 threading thre
  • 修复对 CherryPy 的 GET 请求中的 404:缺少参数错误

    我正在为服务器端使用 CherryPy 在客户端使用 HTML CSS 和 jQuery 制作一个网页 我还使用 mySQL 数据库 我有一个供用户注册该网站的工作表单 创建用户名和密码 我使用 jQuery 向 CherryPy 发送 A
  • 如果我添加/删除/更新可靠集合的元素,休眠会增加版本吗?

    我正在学习休眠乐观锁机制 但我还没有找到我的问题的答案用户指南 https docs jboss org hibernate orm 6 0 userguide html single Hibernate User Guide html l
  • Powershell 按 [DateTime]::ParseExact 排序对象

    我正在尝试使用 PowerShell 按日期对控制台程序返回的行进行排序 日期的格式为 MM dd yyyy 格式 因此必须将它们转换为 DateTime 对象才能采用可排序的格式 为了解析日期 我使用 dates 10 24 2010 0
  • 控制器的 Angular 中的 Jasmine 测试

    我收到以下错误 TypeError undefined is not a function问题是公共的是模块和工厂 问题出在我的线上 var ctrl controllerConstructor resetPasswordSentScree
  • 有没有办法从 MongoDB 检索没有 _id 字段的数据?

    我在我们的项目中使用 MongoDB 目前正在学习它是如何工作的 当插入记录时 MongoDB自动生成ID 查询数据时 总是返回 id 当我们将 Bson Json 反序列化为 out 对象时 这会产生一个问题 因为我们的类型没有该字段 而
  • 使用 C# 在 asp.net 中排序列表和下拉列表

    我有一个返回排序列表的方法 我想将其数据源到下拉列表 我在用 DropDownList1 DataSource stList DropDownList1 DataValueField stList ContainsValue DropDow
  • Haskell:针对 Hackage 的多个版本的基础测试包

    我正在尝试将我的第一个包上传到 Hackage 耶 但出现以下错误 依赖项 build depends base 未指定版本号的上限 基础 包的每个主要版本都会以各种方式更改 API 并且大多数包都需要进行一些更改才能与其一起编译 推荐的做
  • Flutter更新BottomNavigationBar

    我将 BottomNavigationBar 与 TabController 一起使用 通过单击 BottomNavigationBar 的不同选项卡 TabView 会更改内容 但是 如果我在 TabView 上滑动以切换到另一个视图 选
  • 如何使用 C# xaml 以编程方式设置数据绑定

    如何以编程方式设置 DataContext 并在 C Xaml 中创建数据绑定 给定一个类 class Boat INotifyPropertyChanged public event PropertyChangedEventHandler
  • npm 错误!网络 getaddrinfo ENOTFOUND

    我正进入 状态npm ERR network getaddrinfo ENOTFOUND尝试使用 NPM 安装任何包时出错 我知道有很多关于同一问题的线程 但我找不到任何可以帮助我的线程 我已经设置了代理 我认为这与代理设置不正确 没有使用
  • 将 pandas.DataFrame 添加到现有 Excel 文件

    我有一个网络抓取工具 可以为本月的抓取创建一个 Excel 文件 我想在每次运行时将今天的刮擦和该月的每次刮擦添加到该文件中作为新工作表 然而 我的问题是 它仅用新工作表覆盖现有工作表 而不是将其添加为单独的新工作表 我尝试使用 xlrd
  • Hibernate 延迟加载问题

    我在 Hibernate 5 中映射了这个实体 class A private String code private B child LazyToOne LazyToOneOption PROXY ManyToOne fetch Fetc
  • 在不使用cocoapods的情况下向现有项目添加框架

    我有一个现有项目 我想在其中添加名为 CoreActionSheetPicker 的框架 https github com skywinder ActionSheetPicker 3 0 问题是我似乎无法将框架添加到我的项目中 当我将框架拉
  • 如何在 Java 中生成没有按键代码的键盘事件?

    我使用 Robot 类和 KeyEvent 按键代码来生成所有其他按键事件 它们工作正常 但我还需要 Hangul 键 切换韩语键盘 显然 KeyEvent 没有这个键的键码 所以我被卡住了 有没有办法生成这个韩文键事件 有没有办法使用 W
  • Angular2:使用 DynamicComponentLoader 动态插入组件上的双向数据绑定

    我正在开发 Angular2 应用程序 遇到一个问题 我有一组可以使用 UI 选择的不同对象 每个对象都有一组可以使用 UI 进行编辑的选项 不同对象不同 现在 我使用 DynamicComponentLoader 为当前选定的对象插入特定
  • Git 中可以使用特殊字符吗?

    我真的很高兴我修复了 Rails 代码中的这个愚蠢的错误 并且很高兴地在终端中输入了以下内容 git add git commit am Finally fixed that difficult bug 才发现git不喜欢 有谁知道我可以将
  • Python Pandas Concat“WHERE”满足条件

    如何 连接 许多 Python Pandas 数据帧中的特定列 其中许多数据帧中每个数据帧中的另一列满足特定条件 此处通俗地称为条件 X 在 SQL 中 使用 JOIN 子句和 WHERE df2 Col2 X 和 df3 Col2 X 和