问题标签 [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.
pandas - 向量化 .apply 函数以返回 2 列
如何对以下代码进行矢量化(不更改函数)
其中函数nm.remove_numbers
和nm.trim_urls
如下
sms['Message']
因此,我从函数返回一对值,并希望解压缩该对并将它们分配给sms['Digit']
第一个函数(两者相似)。
我尝试使用解包,*
但这会引发异常。任何显式分配也是如此
有什么方法可以摆脱我的 for 循环,并矢量化我的代码?当然,如果无法完成,而我唯一的选择是编辑我的主要功能,那么只需帮助我完成该选项即可。
python - 闯关申请(熊猫)
是否可以break
在 Pandasapply
函数中包含 a ?
我有一组非常大的数据框,我需要将一个函数应用到优化问题中。这似乎是最好的方法,但在最好的情况和最坏的情况之间有很大的差距。最好的情况,因为数据帧是有序的,所以我尝试的第一个解决方案是可行的,并且是我在该数据帧中找到的最好的解决方案。如果我可以休息一下,那么我将避免将该函数应用于其余行。但最坏的情况是,数据帧中没有解决方案,所以我想尽可能快地遍历整个数据帧并继续下一个。
如果无法插入中断apply
,我最好的情况是可怕的。使用惰性迭代器,我最坏的情况是可怕的。有没有办法快速将函数应用于数据帧,但在满足某些条件时也会停止?
python - 使用apply对pandas数据框行进行条件计数的pythonic方法是什么?
我正在尝试对 pandas 数据框中的记录进行条件计数。我是 Python 的新手,并且有一个使用 for 循环的工作解决方案,但是在具有约 200k 行的大型数据帧上运行它需要很长时间,我相信通过定义一个函数并使用 apply 有更好的方法来做到这一点,但我很难弄清楚。
这是一个简单的例子。
创建一个包含两列的 pandas 数据框:
对于每条记录,“计数,相同颜色和更轻的重量”列旨在获取 df 中具有相同颜色和更轻重量的其他记录的计数。例如,第 0 行 (blue, 4) 的结果为零,因为没有其他带有 color=='blue' 的记录具有较小的权重。第 1 行(绿色,5)的结果是 1,因为第 4 行也是颜色=='green',但权重==1。
如何定义可应用于数据框以实现相同功能的函数?
我熟悉应用,例如将我使用的权重列平方:
...但我不清楚如何使用 apply 来进行引用整个 df 的条件计算。
提前感谢您的帮助。
python - 有条件地为熊猫列着色
我的数据框如下所示:
11、12、13 是星期。我试图有条件地为最后一列的行着色,以描述每周购买的物品的变化。我在这里使用另一个答案的改编版来这样做,但我遇到了一个IndexingError: Too many indexers
错误。
以下是我修改后的代码:
然后我将它应用到我的 df 使用:df.apply(highlight3, axis=None)
python - 聚合/重新采样时间序列数据框,保持原始时间序列索引,按照原始时间序列行进行统计
我有一个时间序列数据框,它看起来像这样..
我想做的是将数据重新采样到 12 小时期间,保留原始的 3 小时期间指数,但同时增加交易量和价格。
输出看起来像这样..
如您所见..
我保留了相同的时间框架索引(3h),但将数据聚合到 12h 合并块中。
显然,我希望尽可能有效地做到这一点。
我已经检查了文档,看起来没有任何简单的方法可以做到这一点。希望有更多经验丰富的头脑可以想出一些东西。我想也许是一个滚动窗口?
python-3.x - Python 多变量应用/映射/应用映射
尝试对多个列值使用应用/映射。适用于一列。下面做了一个应用于单个列的示例,需要帮助使注释掉的部分适用于多个列作为输入。
我需要它在同一行但来自不同列的 2 个值作为函数的输入,执行计算,然后将结果放在新列中。如果有一种有效/优化的方式可以使用 apply/map/或两者来做到这一点,请告诉我,谢谢!!!
python - 到目前为止,将 daily_volume 添加到数据框 pandas
我一天有以下数据框,其中每一行是一分钟。:
我想使用矢量方法(不是iterrows
因为它需要时间)为每一行添加一个计算迄今为止每日交易量的列。我怎样才能做到这一点?谢谢
python - 从另一列中获取具有至少一个指定值的值
我有这个数据集
因此,我想以一种我希望 documentno 至少包含一个“附件”的方式过滤数据集。所以我想删除其中只有“主要”的文档。
最终结果是:
我尝试了if else,但我做不到。
提前致谢
pandas - 了解应用 lambda Pandas
我尝试阅读很多文章,但我仍然不清楚在 Pandas 中应用 lambda。
例如,我有一个 df 如下,我想应用 min 函数来找到每一行的最小值。
以上工作。如果我使用 : b=df.apply(min(df['a'],df['b'],df['c']),axis=1)
,它不起作用。我非常感谢您的友好解释。谢谢。
pandas - Koalas GroupBy > Apply > Lambda > 系列
我正在尝试将一些代码从 Pandas 移植到 Koalas,以利用 Spark 的分布式处理。我正在获取一个数据框并将其分组到 A 和 B 上,然后应用一系列函数来填充新数据框的列。这是我在 Pandas 中使用的代码:
我相信它运行良好,并且生成的数据框在价值方面似乎是正确的。
我只有几个问题:
这个错误是否意味着我的方法将来会被弃用?
/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.
如何将分组列重命名为“A”和“B”而不是
"__groupkey_0__ __groupkey_1__"?
正如您所注意到的,我不得不调用 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.
感谢您提供的任何帮助!