-2
我在熊猫中有下表。Python:将函数应用于熊猫数据框中的某些元素/单元
+--------+--------+--------+-----+
| A | B | C | D |
+--------+--------+--------+-----+
| foo | b'bar0 | b'foo0 | 253 |
| b'bar0 | bar | blah | 485 |
+--------+--------+--------+-----+
我想为单元格中的每个元素提供一个函数,该元素以b'
开头。 功能是:
def elementdecode(data,password):
aa=row[2:-1]
bb=aa.encode()
cc = bb.decode('unicode-escape').encode('ISO-8859-1')
return (decode(cc, password).decode())
背景:我有一个具有在它们的正常值和加密值的CSV文件,我想申请的解密方法只对未加密的元件。我的计划是将csv读入熊猫,并仅对加密的单元应用解密功能(例如,以'b
开头)。一旦加密完成,我将数据导出到新的csv中。我想使用applymap,而不是使用循环,但我不知道如何仅在特定元素上使用它。
谢谢
这种表现如何明智? 'if'语句不会使该操作非常缓慢? – valenzio
@valenzio我不这么认为,你必须以某种方式过滤它,你可以通过改变if语句中的内容来取得更快的速度,这取决于数据的特殊性,但逻辑应该在那里,是它工作? – Tbaki
我更新了我的问题,我的数据框的问题是它有不同的格式,字符串,整数,日期,NaN。只有所有条目都是字符串时,您的方法才有效我想我可以将所有条目格式化为字符串,因为无论如何我都将它们写回到csv。我会回报。 – valenzio