如何在 Panda Dataframe 中应用列表理解?

2024-04-27

From a list的值,我尝试识别总和超过 10 的任何连续值对

a = [1,9,3,4,5]

...所以我写了一个for loop...

values = []
for i in range(len(a)-2):
    if sum(a[i:i+2]) >10:
        values += [a[i:i+2]]

...我将其重写为列表理解...

values = [a[i:i+2] for i in range(len(a)-2) if sum(a[i:i+2]) >10]

两者产生相同的输出:

values = [[1,9], [9,3]]

我的问题是如何最好地在 DataFrame 中应用上述列表理解。

这是 5 行 DataFrame 示例

import pandas as pd
df = pd.DataFrame({'A': [1,1,1,1,0], 
                   'B': [9,8,3,2,2],
                   'C': [3,3,3,10,3],
                   'E': [4,4,4,4,4],
                   'F': [5,5,5,5,5]})
df['X'] = df.values.tolist()

在哪里: - a 在 a 之内df['X']这是一个值列表 A - F 列

df['X'] = [[1,9,3,4,5],[1,8,3,4,5],[1,3,3,4,5],[1,2,10,4,5],[0,2,3,4,5]]
  • 并且,列表理解的结果将存储在新列中df['X1]

期望的输出是:

df['X1'] = [[[1,9], [9,3]],[[8,3]],[[NaN]],[[2,10],[10,4]],[[NaN]]]

谢谢。


您可以使用 pandas apply 函数,并将列表理解放入其中。

df = pd.DataFrame({'A': [1,1,1,1,0], 
                   'B': [9,8,3,2,2],
                   'C': [3,3,3,10,3],
                   'E': [4,4,4,4,4],
                   'F': [5,5,5,5,5]})

df['x'] = df.apply(lambda a: [a[i:i+2] for i in range(len(a)-2) if sum(a[i:i+2]) >= 10], axis=1)

#Note the axis parameters tells if you want to apply this function by rows or by columns, axis = 1 applies the function to each row.

这将给出 df['X1'] 中所述的输出

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Panda Dataframe 中应用列表理解? 的相关文章

随机推荐

  • Linux命令:如何仅“查找”文本文件?

    经过几次谷歌搜索后 我得出的结论是 find my folder type f exec grep l needle text exec file grep text 这非常不方便 并且会输出不需要的文本 例如 mime 类型信息 还有更好
  • 网站上出现奇怪的符号(L SEP)?

    我在我的网站上注意到 http www cscc org sg http www cscc org sg 出现了这个奇怪的符号 上面写着 L SEP 在 HTML 代码中 它显示相同的内容 有人可以告诉我如何删除它们吗 那个角色是U 202
  • gcc 不会编译和运行 MySQL C 库

    include
  • 将多个 CSV 文件复制到 postgres

    我正在编写一个 SQL 脚本来将多个 CSV 文件复制到 postgres 数据库中 如下所示 COPY product title department from ys csv CSV HEADER 我有多个文件想要复制 我不想要 COP
  • 我可以编辑 UIImage 属性 CGImage 的像素吗

    UIImage有一个只读属性CGImage 我必须将其像素读取到内存块并对其进行编辑 然后制作一个新的 UIImage 来替换旧的 我想知道是否有办法绕过只读属性并直接编辑这些像素 Thanks 谢谢大家 我找到了一种方法来做到这一点 使用
  • Pytorch ValueError:优化器得到一个空参数列表

    当尝试创建神经网络并使用 Pytorch 对其进行优化时 我得到了 ValueError 优化器得到一个空参数列表 这是代码 import torch nn as nn import torch nn functional as F fro
  • git 项目与存储库,根本区别是什么?

    我有两个项目当前使用 SVN 我正在迁移到 git 我注册了 gitorious 并且可以选择创建新项目或添加存储库 我刚刚开始使用 git 所以我不知道有什么区别 或者更确切地说 如果我只是在一个项目下使用存储库 这意味着什么 如果我这样
  • 快速循环中的并行异步执行

    我的快速代码如下所示 var jsFriendlyFreinds JSObject for friend in friends let jsFriend await FriendsPlugin createFriendResult frie
  • 方案语言:合并两个数字

    如何将列表中的两个整数合并为一个 方案中 例子 11 223 gt 11223 假设列表恰好有两个元素 并且都是数字 define merge numbers lst let 1st number gt string first lst 2
  • 在 angular2 中使用 routerLink 更新模板

    当我移动到另一个模板时 我遇到了模板未更新的问题store location 例如 默认值为Eastleigh如果我搬到USA它将更改为USA但当我去其他地方时它就粘住了USA 我必须刷新页面以便模板更新Collection Store 事
  • 提取两个段落之间的共同词?

    如何提取php5中两个或多个段落之间的常用词 我想总结每个文本以创建排名靠前的单词列表可能会起作用 然后比较它们 我想最基本的方法是 split each paragraph into an array of words using eit
  • Discord 音乐机器人 VoiceClient' 对象没有属性 'create_ytdl_player'

    我想编写自己的不和谐机器人 它可以播放 youtube 上的一些歌曲 但它不会创建 ydl 播放器 这是错误Command raised an exception AttributeError VoiceClient object has
  • List 和 List 之间的区别[重复]

    这个问题在这里已经有答案了 我读过很多这方面的内容 我知道 List listOfObject new ArrayList
  • Firebase ios sdk 异步和线程

    有谁知道使用 Firebase iOS SDK 远程调用 Firebase 是使用主线程还是后台线程 我在文档中找不到任何内容 Firebase 并没有完全消除对线程的担忧 由于 Firebase 回调始终在主线程上返回 因此从后台线程调用
  • WCF maxBytesPerRead 限制为 4096

    我在流模式下使用基本的 WCF Web 服务从服务器下载文件 我已将服务器端的绑定指定为
  • IISreset和应用程序池回收对缓存的影响有什么区别

    我遇到了一个奇怪的问题 据我所知 可以通过回收应用程序池来清除缓存 然而 在最近的一个项目中 缓存并没有以这种方式清除 相反 我们必须重置 IIS 以清除缓存 这些行为之间有什么区别 造成我所经历的差异的原因可能是什么 当您回收AppPoo
  • 我怎样才能从表中获得第一个免费ID

    我有一个带有主键字段 ID 的表 我不想使用身份 因为我需要为用户提供手动为新对象选择 ID 的可能性 所以我的想法是 默认情况下 在编辑视图中 ID 字段将为 0 如果用户不更改它 我需要找到第一个免费ID并使用它 如果用户更改 ID 我
  • 从 Java 8 流中获取每个第 n 个元素

    假设我有一个这样的列表 1 2 3 4 5 6 7 8 9 10 是否可以使用 Java 8 流从该列表中获取每个第二个元素以获得以下内容 1 3 5 7 9 或者甚至可能是每三个元素 1 4 7 10 基本上 我正在寻找一个函数来获取流的
  • 在 Azure Web 应用中重写 URL

    我想为我的 Azure Web 应用程序应用一个简单的通配符路由规则
  • 如何在 Panda Dataframe 中应用列表理解?

    From a list的值 我尝试识别总和超过 10 的任何连续值对 a 1 9 3 4 5 所以我写了一个for loop values for i in range len a 2 if sum a i i 2 gt 10 values