问题标签 [pandas-apply]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何计算按一个属性分组的值,但在熊猫的第二列中提供
我有一个带有订单 ID、Id Client、Date_order 和一些指标的数据框(不是很重要)我想获取所有行的 Client 的最后一个 ID 订单的数量
我试过这个:
它考虑了所有的 ID,只显示了三行 Client 和 max ID,但我只需要在前面的行中查看所有行 DataFrame。请帮忙)
python - Apply on Dataframe 将第一行值传递给所有行
当以以下方式使用 apply 时,作为“行”传递的值仅是来自数据帧第一行的值。
奇怪的是,在 document.save() 中创建的文件名是正确的。newname
在 row['case_name'] 中有正确的值。但是,如果我print(row)
打印第一行的值。
我希望print(row)
打印数据框中每一行的值,而不仅仅是第一行。
为清楚起见编辑:
该脚本是一个生成 .docx 单词文件的邮件合并。
mapfields
是正则表达式格式的字典:列名。document
是一个 docx-python 对象。
python - 聚类数据子组中的行
我df
在 3-d 空间中有一个对象组件的数据集 - 每个都ID
代表一个具有各种组件的对象:
我想遍历每个ID
,使用聚类技术根据每个组件的 ( , , ) 坐标sklearn
创建组件 ( ) 集群- 以实现如下效果:Comp
x
y
z
举个例子 - ID
: A,
Comp :1 is in
cluster 1, whereas
ID :
A, Comp
:4 在cluster
3中。 (我计划然后连接ID
和cluster
稍后)。
我在以下方面没有运气groupby + apply
:
for
我可以通过使用循环来暴力破解它,ID
但我的数据集很大(~ 150k ID
),我担心资源和时间限制。任何帮助都会很棒!
python-3.x - Pandas Apply Function Ver Slow - 通过列表查找使用值计数
我有一个如下所示的 pandas DF,我正在尝试将不同行中的值计数转换为以下格式:
至
我在这里找到了这个答案(在 DataFrame 的每一行中计算 Series 中项目的出现次数)
这可以满足我的需要,但在我的数据集(400 万行)上非常慢。我试图用 400,000 行来完成它,但它仍然没有以可接受的速度运行。
我相信它是通过大量数据集进行查找的列表,并且 apply 本质上是一个 for 循环。是巨大的循环减慢了这个过程。这里的潜在解决方案基本上提到不要使用 Apply,这会使这里的执行变得乏味,因为我的列表中有 C1、C2...C100 和 10 个垂直列来验证计数。关于我可以在这里尝试什么来提高性能的任何提示?
这是下面的代码:
pandas - 如何在 Pandas groupby 对象上应用 stack() 函数
我正在尝试在应用 stack() 功能时优化我的运行时。
下面的这个 groupby.apply() 有效。
但是,它需要更大的数据集(300 万条记录 = 25 分钟)
如何优化此性能?
我可以使用 transform() 吗?如何 ?它没有 stack() 调用
感谢您在处理此类情况时的所有见解
pandas - Pandas:为什么应用函数不起作用?
我正在学习 Pandas,我偶然发现了一个练习,该练习希望我在酒精消费者数据集中创建一个新列(称为合法饮酒者)并用值 True / False 填充它:如果消费者年龄超过 17 岁,则为 True,False如果不。
我无法弄清楚为什么一个版本的代码有效,而另一个版本会引发错误。请问你能帮帮我吗?:)
python - 如何根据与前一行的差异对行进行分组?
我有以下数据框:
当“i-1”行的 time_finish 在“i”行的 time_start 之前最多 900 秒时,我想将行分组到相同的 id 下。
基本上,上面示例的输出将是: 结果将是:
我通过以下代码实现了它,但我确信有一种更优雅(和有效)的方式来做到这一点:
python - Groupby 在具有重叠组的列上
继续我之前的问题。
这将产生一个 81 列并填充随机数的 dafatrame:
具有这 81 个列名称的数据框:
使用我上一个问题的解决方案,我知道如何创建一个分组函数,例如,获取所有“A.*.E”列(中间有任何数字),将它们求和并生成一个名为“A.*.E”的命名输出列。总和。然后对 'A.*.F'、'A.*.G' 等执行相同的操作:
我的问题是一个函数是否也可以以产生重叠组的方式编写?例如,是否可以制作一个为 ('A.1.E' + 'A.2.E') 生成 SUM1 和为 ('A.1.E' + 'A.3.E' 生成 SUM2 的分组器? ),因此“A.1.E”列将出现在两个总和中。
python - python pandas groupby/apply:传递给apply函数的究竟是什么?
Python新手在这里。我试图了解 pandas groupby 和 apply 方法的工作原理。我找到了这个简单的例子,我把它贴在下面:
数据框df
如下所示:
到现在为止还挺好。然后我想转换我的数据,以便从每组团队中我只保留点列中的第一个元素。首先检查df['Points'][0]
确实给了我的第一个Points
元素df
,我尝试了这个:
认为函数的参数x
是lambda
另一个熊猫数据框。但是,python 会产生错误:
这似乎与 HashTable 有关,但我无法理解为什么。然后我想也许传递给的lambda
不是数据框,所以我运行了这个:
输出:
其中,IIUC 表明 的论点lambda
确实是一个熊猫数据框,其中包含每个团队的df
.
我知道我可以通过运行得到想要的结果:
我只是想从 apply 函数中了解为什么df['Points'][0]
有效而x['Points'][0]
不是无效。感谢您的阅读!
regex - 迭代python中的字符串替换函数
我需要在 python 的数据框中替换部分文本。但是,替换字符串应该从一个大的多词字符串列表中选择。我已经编写了以下简单示例来演示问题以及我使用 for 循环的解决方案。它运行良好,但如果单词列表和数据框很大,则 for 循环运行起来会变得非常昂贵。我想知道是否有任何方法可以避免这里的 for 循环。