Python:将函数应用于 pandas 数据帧中的某些 elements/cells
Python: Apply function to certain elements/cells in pandas dataframe
我在 Pandas 中有以下 table。
+--------+--------+--------+-----+
| 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 读入 pandas 并仅在加密的单元格上应用解密函数(例如以 'b
开头)。执行加密后,我将数据导出回新的 csv。我没有使用循环,而是考虑使用 applymap,但我不知道如何仅在特定元素上使用它。
谢谢
你试过了吗?
def elementdecode(data,password):
#if the first condition if not met, the second is not evaluated
if (type(x) == str) and ("\'b" in x):
aa=row[2:-1]
bb=aa.encode()
cc = bb.decode('unicode-escape').encode('ISO-8859-1')
return (decode(cc, password).decode())
else:
return x
df.applymap(lambda x: elementdecode(x,password))
我在 Pandas 中有以下 table。
+--------+--------+--------+-----+
| 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 读入 pandas 并仅在加密的单元格上应用解密函数(例如以 'b
开头)。执行加密后,我将数据导出回新的 csv。我没有使用循环,而是考虑使用 applymap,但我不知道如何仅在特定元素上使用它。
谢谢
你试过了吗?
def elementdecode(data,password):
#if the first condition if not met, the second is not evaluated
if (type(x) == str) and ("\'b" in x):
aa=row[2:-1]
bb=aa.encode()
cc = bb.decode('unicode-escape').encode('ISO-8859-1')
return (decode(cc, password).decode())
else:
return x
df.applymap(lambda x: elementdecode(x,password))