问题标签 [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.

0 投票
0 回答
19 浏览

pandas - 向量化 .apply 函数以返回 2 列

如何对以下代码进行矢量化(不更改函数)

其中函数nm.remove_numbersnm.trim_urls如下

sms['Message']因此,我从函数返回一对值,并希望解压缩该对并将它们分配给sms['Digit']第一个函数(两者相似)。

我尝试使用解包,*但这会引发异常。任何显式分配也是如此

有什么方法可以摆脱我的 for 循环,并矢量化我的代码?当然,如果无法完成,而我唯一的选择是编辑我的主要功能,那么只需帮助我完成该选项即可。

0 投票
0 回答
483 浏览

python - 闯关申请(熊猫)

是否可以break在 Pandasapply函数中包含 a ?

我有一组非常大的数据框,我需要将一个函数应用到优化问题中。这似乎是最好的方法,但在最好的情况和最坏的情况之间有很大的差距。最好的情况,因为数据帧是有序的,所以我尝试的第一个解决方案是可行的,并且是我在该数据帧中找到的最好的解决方案。如果我可以休息一下,那么我将避免将该函数应用于其余行。但最坏的情况是,数据帧中没有解决方案,所以我想尽可能快地遍历整个数据帧并继续下一个。

如果无法插入中断apply,我最好的情况是可怕的。使用惰性迭代器,我最坏的情况是可怕的。有没有办法快速将函数应用于数据帧,但在满足某些条件时也会停止?

0 投票
1 回答
162 浏览

python - 使用apply对pandas数据框行进行条件计数的pythonic方法是什么?

我正在尝试对 pandas 数据框中的记录进行条件计数。我是 Python 的新手,并且有一个使用 for 循环的工作解决方案,但是在具有约 200k 行的大型数据帧上运行它需要很长时间,我相信通过定义一个函数并使用 apply 有更好的方法来做到这一点,但我很难弄清楚。

这是一个简单的例子。

创建一个包含两列的 pandas 数据框:

df

df 更新

对于每条记录,“计数,相同颜色和更轻的重量”列旨在获取 df 中具有相同颜色和更轻重量的其他记录的计数。例如,第 0 行 (blue, 4) 的结果为零,因为没有其他带有 color=='blue' 的记录具有较小的权重。第 1 行(绿色,5)的结果是 1,因为第 4 行也是颜色=='green',但权重==1。

如何定义可应用于数据框以实现相同功能的函数?

我熟悉应用,例如将我使用的权重列平方:

...但我不清楚如何使用 apply 来进行引用整个 df 的条件计算。

提前感谢您的帮助。

0 投票
1 回答
149 浏览

python - 有条件地为熊猫列着色

我的数据框如下所示:

11、12、13 是星期。我试图有条件地为最后一列的行着色,以描述每周购买的物品的变化。我在这里使用另一个答案的改编版来这样做,但我遇到了一个IndexingError: Too many indexers错误。

以下是我修改后的代码:

然后我将它应用到我的 df 使用:df.apply(highlight3, axis=None)

0 投票
0 回答
53 浏览

python - 聚合/重新采样时间序列数据框,保持原始时间序列索引,按照原始时间序列行进行统计

我有一个时间序列数据框,它看起来像这样..

我想做的是将数据重新采样到 12 小时期间,保留原始的 3 小时期间指数,但同时增加交易量和价格。

输出看起来像这样..

如您所见..
我保留了相同的时间框架索引(3h),但将数据聚合到 12h 合并块中。

显然,我希望尽可能有效地做到这一点。

我已经检查了文档,看起来没有任何简单的方法可以做到这一点。希望有更多经验丰富的头脑可以想出一些东西。我想也许是一个滚动窗口?

0 投票
1 回答
142 浏览

python-3.x - Python 多变量应用/映射/应用映射

尝试对多个列值使用应用/映射。适用于一列。下面做了一个应用于单个列的示例,需要帮助使注释掉的部分适用于多个列作为输入。

我需要它在同一行但来自不同列的 2 个值作为函数的输入,执行计算,然后将结果放在新列中。如果有一种有效/优化的方式可以使用 apply/map/或两者来做到这一点,请告诉我,谢谢!!!

0 投票
2 回答
30 浏览

python - 到目前为止,将 daily_volume 添加到数据框 pandas

我一天有以下数据框,其中每一行是一分钟。:

我想使用矢量方法(不是iterrows因为它需要时间)为每一行添加一个计算迄今为止每日交易量的列。我怎样才能做到这一点?谢谢

0 投票
2 回答
50 浏览

python - 从另一列中获取具有至少一个指定值的值

我有这个数据集

因此,我想以一种我希望 documentno 至少包含一个“附件”的方式过滤数据集。所以我想删除其中只有“主要”的文档。

最终结果是:

我尝试了if else,但我做不到。

提前致谢

0 投票
0 回答
392 浏览

pandas - 了解应用 lambda Pandas

我尝试阅读很多文章,但我仍然不清楚在 Pandas 中应用 lambda。

例如,我有一个 df 如下,我想应用 min 函数来找到每一行的最小值。

以上工作。如果我使用 : b=df.apply(min(df['a'],df['b'],df['c']),axis=1),它不起作用。我非常感谢您的友好解释。谢谢。

0 投票
1 回答
1348 浏览

pandas - Koalas GroupBy > Apply > Lambda > 系列

我正在尝试将一些代码从 Pandas 移植到 Koalas,以利用 Spark 的分布式处理。我正在获取一个数据框并将其分组到 A 和 B 上,然后应用一系列函数来填充新数据框的列。这是我在 Pandas 中使用的代码:

我相信它运行良好,并且生成的数据框在价值方面似乎是正确的。

我只有几个问题:

  1. 这个错误是否意味着我的方法将来会被弃用? /databricks/spark/python/pyspark/sql/pandas/group_ops.py:76: UserWarning: It is preferred to use 'applyInPandas' over this API. This API will be deprecated in the future releases. See SPARK-28264 for more details.

  2. 如何将分组列重命名为“A”和“B”而不是"__groupkey_0__ __groupkey_1__"?

  3. 正如您所注意到的,我不得不调用 pd.Series ——有没有办法在考拉中做到这一点?调用 ks.Series 给我以下错误,我不确定如何实现: PandasNotImplementedError: The method `pd.Series.__iter__()` is not implemented. If you want to collect your data as an NumPy array, use 'to_numpy()' instead.

感谢您提供的任何帮助!