问题标签 [python-applymap]

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 投票
1 回答
40 浏览

python - 修改函数内的索引 DataFrame 会更改原始变量

以下脚本input_df在最后两次打印相同的输入变量 - 在df_lower调用之前和之后:

输出显示input_df变化:

为什么要input_df修改?

input_df为什么在处理完整(无列索引)时不对其进行修改?

0 投票
1 回答
285 浏览

python - 将文本清理功能应用于多列

我的数据框中有三列文本,我想应用相同的函数。这是我在下面尝试过的。我应该将什么作为参数传递给我的函数?

我不确定如何以某种方式编写函数,即它分别在每一列中使用并将函数应用于它。有任何想法吗?

0 投票
2 回答
1116 浏览

python - 如何使用 apply 包括列表的两个 pandas 列来使用另一列中的元素返回一列列表中的索引?

我有一个带有“a”和“b”列的熊猫数据框。a 列有一个值列表作为列值,而“b”列有一个列表,其中包含可能出现在“a”列中的单个值。我想基于列 a 和 b 创建一个新列 c,该列具有使用 apply 出现在列 a 值中的 b 中元素的位置值。(c: (b in a)+1 的索引) b 列始终是一个包含一个元素或根本没有元素的列表,a 列可以是任意长度,但如果它为空,则 b 列也将为空。b 列元素应该在 a 列中,我只想在 a 列中找到它第一次出现的位置。

我写了一个 for 循环,它工作得很好,但它很慢:

但是我想使用 apply 来使它更快,以下不起作用,任何想法或建议将不胜感激?

0 投票
1 回答
81 浏览

python - Python - Pandas - Style.ApplyMap 工作奇怪

有人可以帮我解决以下奇怪的情况吗?所以我有下表( Oracle ),如下所示: 截图

回到 python,我创建了以下脚本。我连接到数据库,然后从表中检索数据。之后,数据框建立在表的内容之上。使用函数 highlightGreaterThen 我想根据值向单元格添加背景颜色。不幸的是,这并没有按预期发生,因为该函数似乎继续在 ELSE 子句上运行,即使 IF 并不意味着。

如果我手动执行该函数,并在其中添加一些打印,则它会打印所需的结果,但是在我的脚本中执行它时,效果不佳。

结果是:

但是在执行整个脚本时,结果是:

我究竟做错了什么?

谢谢。

0 投票
1 回答
171 浏览

python - Python用空而不是单引号替换包含数值的字段的NaN值,单引号稍后将被视为字符串

我正在将一些数据帧上传到雪花云中。我必须使用以下内容将所有字段值转换为字符串:

我这样做的唯一原因是没有它,我将收到以下错误:

TypeError:字符串格式化期间并非所有参数都转换了

原因是存在包含数值的字段,但并非所有行都有它,其中一些有“NA”。并且为了数据完整性,我们不能0像在我们的域中那样用 s 替换它们,0可能看起来有些东西,并且在我们的工作中空白与 的值不同0

一开始,我尝试NA用单引号替换 a '',但随后,所有具有数字的字段都被转换为浮点数。因此,如果一个值为 123,它将是123.0.

如何NA将数字字段中的值替换为完全空白,而不是''这样该字段仍然可以被视为 type INT

在下图中,我不希望将空单元格视为字符串,因为如果其他字段为 int,则将使用 applymap() 将其转换为浮点数:

在此处输入图像描述

0 投票
2 回答
267 浏览

python - Pandas:如何在不循环的情况下使用 applymap/apply 函数对数据框进行争论

背景

链接 1显示 apply 可以应用于系列。我想在 DataFrame 的子集上使用 apply 函数,而不需要遍历列。

示例代码

创建大小为 7、7 的示例 DataFrame

df1

如果数字在预定义的范围内,则所需的函数应该返回相同的值,否则根据它是在限制的下限还是上限,应该返回相应的值。要应用的函数如下:

需要应用函数的 DataFrame 的选定部分

df1 的选定部分

应用功能:

我遇到了以下错误:

因此,我改变了方法并使用了跨列的循环,如下所示(效果很好):

其他未测试的方法

链接 2在此处参考答案 2,建议不要applymap与参数一起使用。所以,我没有使用applymap,因为该函数需要 2 个额外的参数。读者请注意,applymap已在答案中使用。

期望的结果

我想实现这个需要争论的函数,而不需要将列循环到数据框。

0 投票
1 回答
49 浏览

python - 我似乎无法在 Python 中更新数据框中的样式

enter code here首先,我不了解 Python,但我将它用于团队项目。我遵循了格子快速入门教程。我能够使用enter code here我返回的数据创建一个数据框,使用它来创建一个 html 并从中生成一个 pdf。我花了几个小时!现在我想对数据应用一些基本格式,比如如果金额为负,则将金额设为红色,右对齐金额字段。我已经编写了代码,但我没有使用 Jupyter Lab,我使用的是 atom。我已经看到需要 style.render() 才能获得更改的参考,但不知道该怎么做。

这是我的代码,它显示 pdf 中的颜色没有变化

从测试沙箱环境生成的pdf:
测试沙箱环境生成的pdf

最后更改: # 将负数设置为红色 def color_negative_red(s): color = 'red' if s < 0 else 'black' return 'color: %s' % color html = df.style.applymap(color_negative_red).render( )

这是我最后一次更改,以使代码能够将金额字符串转换为小数

0 投票
1 回答
45 浏览

python - 为什么应用功能不适用于熊猫数据框

我正在尝试在 ct_data 的头部下方进行加密

但我得到如下

IM NO 列标题名称及其值应为 20 位加密,通常加密如下

ct_data.iloc[:, 1]) 显示下面的东西

0 投票
1 回答
112 浏览

python - 从 Pandas 数据框中的列表中删除 NaN

我有一个数据框,其值是包含“nan”的列表。是否有一种简单且 Pythonic 的方法可以从数据框中的列表中删除这些“nan”值?我已经定义了一个函数,它返回一个没有“nan”的列表,但我怎样才能将它应用到数据框?

此函数适用于单个列表并返回干净列表,如上面的输出所示。如何应用此功能,或者如果有更好的方法,从数据框中的列表中删除所有 'nan'?我试过 applymap 和 apply 但没有用。

0 投票
2 回答
604 浏览

python - Pandas 数据框 lambda 函数/applymap 将多行组合在一列中并删除重复项

如何对 pandas 数据框执行以下操作?

  1. 将一列中的文本,多行合并为一行
  2. 删除“一行”中的重复项
  3. 对多列重复 1 和 2

基于以下 Stack Overflow 问题和答案,我在下面尝试了代码。最后一次尝试很接近,但我不知道如何将集合转换回字符串(即删除大括号)并将其转换为我可以将 applymap() 用于多个列的 lambda 函数。

  1. 如何用熊猫将多行组合成一行[重复]
  2. 使用 Pandas groupby 连接多行中的字符串
  3. 从数据框中的行和列(单元格)中删除重复项,python

示例数据框

期望的输出

尝试仅返回一个字符串但仍有重复项的一列

仅尝试删除重复项但返回一组的列