-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