问题标签 [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.
python - 修改函数内的索引 DataFrame 会更改原始变量
以下脚本input_df在最后两次打印相同的输入变量 - 在df_lower调用之前和之后:
输出显示input_df变化:
为什么要input_df修改?
input_df为什么在处理完整(无列索引)时不对其进行修改?
python - 将文本清理功能应用于多列
我的数据框中有三列文本,我想应用相同的函数。这是我在下面尝试过的。我应该将什么作为参数传递给我的函数?
我不确定如何以某种方式编写函数,即它分别在每一列中使用并将函数应用于它。有任何想法吗?
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 来使它更快,以下不起作用,任何想法或建议将不胜感激?
python - Python - Pandas - Style.ApplyMap 工作奇怪
有人可以帮我解决以下奇怪的情况吗?所以我有下表( Oracle ),如下所示: 截图
回到 python,我创建了以下脚本。我连接到数据库,然后从表中检索数据。之后,数据框建立在表的内容之上。使用函数 highlightGreaterThen 我想根据值向单元格添加背景颜色。不幸的是,这并没有按预期发生,因为该函数似乎继续在 ELSE 子句上运行,即使 IF 并不意味着。
如果我手动执行该函数,并在其中添加一些打印,则它会打印所需的结果,但是在我的脚本中执行它时,效果不佳。
结果是:
但是在执行整个脚本时,结果是:
我究竟做错了什么?
谢谢。
python - Python用空而不是单引号替换包含数值的字段的NaN值,单引号稍后将被视为字符串
我正在将一些数据帧上传到雪花云中。我必须使用以下内容将所有字段值转换为字符串:
我这样做的唯一原因是没有它,我将收到以下错误:
TypeError:字符串格式化期间并非所有参数都转换了
原因是存在包含数值的字段,但并非所有行都有它,其中一些有“NA”。并且为了数据完整性,我们不能0像在我们的域中那样用 s 替换它们,0可能看起来有些东西,并且在我们的工作中空白与 的值不同0。
一开始,我尝试NA用单引号替换 a '',但随后,所有具有数字的字段都被转换为浮点数。因此,如果一个值为 123,它将是123.0.
如何NA将数字字段中的值替换为完全空白,而不是''这样该字段仍然可以被视为 type INT。
在下图中,我不希望将空单元格视为字符串,因为如果其他字段为 int,则将使用 applymap() 将其转换为浮点数:
python - Pandas:如何在不循环的情况下使用 applymap/apply 函数对数据框进行争论
背景
链接 1显示 apply 可以应用于系列。我想在 DataFrame 的子集上使用 apply 函数,而不需要遍历列。
示例代码
创建大小为 7、7 的示例 DataFrame
如果数字在预定义的范围内,则所需的函数应该返回相同的值,否则根据它是在限制的下限还是上限,应该返回相应的值。要应用的函数如下:
需要应用函数的 DataFrame 的选定部分
应用功能:
我遇到了以下错误:
因此,我改变了方法并使用了跨列的循环,如下所示(效果很好):
其他未测试的方法
链接 2在此处参考答案 2,建议不要applymap与参数一起使用。所以,我没有使用applymap,因为该函数需要 2 个额外的参数。读者请注意,applymap已在答案中使用。
期望的结果
我想实现这个需要争论的函数,而不需要将列循环到数据框。
python - 我似乎无法在 Python 中更新数据框中的样式
enter code here首先,我不了解 Python,但我将它用于团队项目。我遵循了格子快速入门教程。我能够使用enter code here我返回的数据创建一个数据框,使用它来创建一个 html 并从中生成一个 pdf。我花了几个小时!现在我想对数据应用一些基本格式,比如如果金额为负,则将金额设为红色,右对齐金额字段。我已经编写了代码,但我没有使用 Jupyter Lab,我使用的是 atom。我已经看到需要 style.render() 才能获得更改的参考,但不知道该怎么做。
这是我的代码,它显示 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( )
这是我最后一次更改,以使代码能够将金额字符串转换为小数
python - 为什么应用功能不适用于熊猫数据框
我正在尝试在 ct_data 的头部下方进行加密
但我得到如下
IM NO 列标题名称及其值应为 20 位加密,通常加密如下
ct_data.iloc[:, 1]) 显示下面的东西
python - 从 Pandas 数据框中的列表中删除 NaN
我有一个数据框,其值是包含“nan”的列表。是否有一种简单且 Pythonic 的方法可以从数据框中的列表中删除这些“nan”值?我已经定义了一个函数,它返回一个没有“nan”的列表,但我怎样才能将它应用到数据框?
此函数适用于单个列表并返回干净列表,如上面的输出所示。如何应用此功能,或者如果有更好的方法,从数据框中的列表中删除所有 'nan'值?我试过 applymap 和 apply 但没有用。
python - Pandas 数据框 lambda 函数/applymap 将多行组合在一列中并删除重复项
如何对 pandas 数据框执行以下操作?
- 将一列中的文本,多行合并为一行
- 删除“一行”中的重复项
- 对多列重复 1 和 2
基于以下 Stack Overflow 问题和答案,我在下面尝试了代码。最后一次尝试很接近,但我不知道如何将集合转换回字符串(即删除大括号)并将其转换为我可以将 applymap() 用于多个列的 lambda 函数。
示例数据框
期望的输出
尝试仅返回一个字符串但仍有重复项的一列
仅尝试删除重复项但返回一组的列


