为什么apply函数不能在pandas数据框架上工作


ct_data['IM NO'] = ct_data['IM NO'].apply(lambda x: pyffx.Integer(b'dkrya@Jppl1994', length=20).encrypt(int(x)))

我正在尝试加密这里是ct_data头以下

Unnamed: 0      IM NO                                              CT ID
0           0  214281340  x1E5e3ukRyEFRT6SUAF6lg|d543d3d064da465b8576d87
1           1  214281244  -vf6738ee3bedf47e8acf4613034069ab0|aa0d2dac654
2           2  175326863  __g3d877adf9d154637be26d9a0111e1cd6|6FfHZRoiWs
3           3  299631931  __gbe204670ca784a01b7207b42a7e5a5d3|54e2c39cd3
4           4  214282320  773840905c424a10a4a31aba9d6458bb|__g1114a30c6e

但是我得到如下

Unnamed: 0  ...                                              CT ID
0            0  ...  x1E5e3ukRyEFRT6SUAF6lg|d543d3d064da465b8576d87
1            1  ...  aa0d2dac654d4154bf7c09f73faeaf62|-vf6738ee3bed
2            2  ...  6FfHZRoiWs2VO02Pruk07A|__g3d877adf9d154637be26
3            3  ...  54e2c39cd35044ffbd9c0918d07923dc|__gbe204670ca
4            4  ...  __g1114a30c6ea548a2a83d5a51718ff0fd|773840905c
5            5  ...  9e6eb976075b4b189ae7dde42b67ca3d|WgpKucd28IcdE

imno列标头名称及其值应该是20位加密的,通常情况下,加密操作如下

import pyffx
strEncrypt = pyffx.Integer(b'dkrya@Jppl1994', length=20)
strEncrptVal = strEncrypt.encrypt(int('9digit IM No'))

ct_data。[:, 1])显示在

下面
0     214281340
1     214281244
2     175326863
3     299631931
4     214282320
5     214279026

这应该是一个注释,但它包含了格式化的数据。

这可能只是一个显示问题。对于数据框的初始样例,我已经执行了命令并打印了它的返回值:

print(ct_data['IM NO'].apply(lambda x: pyffx.Integer(b'dkrya@Jppl1994', length=20).encrypt(int(x))))
0    88741194526272080902
1     2665012251053580165
2    18983388112345132770
3    85666027666173191357
4    78253063863998100367
Name: IM NO, dtype: object

所以它被正确执行。让我们更进一步:

ct_data['IM NO'] = ct_data['IM NO'].apply(lambda x: pyffx.Integer(b'dkrya@Jppl1994', length=20).encrypt(int(x)))
print(ct_data['IM NO'])
0    88741194526272080902
1     2665012251053580165
2    18983388112345132770
3    85666027666173191357
4    78253063863998100367
Name: IM NO, dtype: object

再次…

这意味着您的命令成功了,但是由于IM NO列现在变大了,您的系统不能再显示所有的列,而是显示第一列和最后一列,中间有省略号(...)。

相关内容

  • 没有找到相关文章

最新更新