Python 为什么应用函数在dataframe上不起作用

Python 为什么应用函数在dataframe上不起作用,python,pandas,apply,python-applymap,Python,Pandas,Apply,Python Applymap,我想在ct_数据的头部下方加上一个字母 ct_data['IM NO'] = ct_data['IM NO'].apply(lambda x: pyffx.Integer(b'dkrya@Jppl1994', length=20).encrypt(int(x))) 但我得到如下结果 Unnamed: 0 IM NO CT ID 0 0 214281340 x1E5e3u

我想在ct_数据的头部下方加上一个字母

ct_data['IM NO'] = ct_data['IM NO'].apply(lambda x: pyffx.Integer(b'dkrya@Jppl1994', length=20).encrypt(int(x)))
但我得到如下结果

 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
IM无列标题名称及其值应为20位加密, 通常加密操作如下所示

   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
ct_data.iloc[:,1])显示在下面

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

这应该是注释,但它包含格式化数据

这可能仅仅是一个显示问题。对于dataframe的初始示例,我已经执行了您的命令并打印了其返回值:

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
再次


这意味着你的命令是成功的,但是作为<代码> IM NO/<代码>列现在更大,你的系统不能显示所有的列,它显示第一个和LAS,中间有省略号(<代码>……/代码>)。< /P>这可能是一个简单的显示问题吗?什么显示了ct_data.iloc[:,1]?@SergeBallesta它显示的是IM No列,请参见,我补充道

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