Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 如何在连接两个字符串列时避免使用指数表示法_Pandas - Fatal编程技术网

Pandas 如何在连接两个字符串列时避免使用指数表示法

Pandas 如何在连接两个字符串列时避免使用指数表示法,pandas,Pandas,我有一个数据帧 $ dfoffers.head(1) FVID vnum 0 1000373197012497808 2 $ dfoffers.dtypes $ FVID int64 vnum int64 dtype: object 目标是将fVID中的长字符串和vnum中的短字符串连接到一个新列中 我这样做: dfoffers['FVID'] = dfoffers['FVID'].astype(str) d

我有一个数据帧

$ dfoffers.head(1)    

              FVID  vnum   
0  1000373197012497808     2  

$ dfoffers.dtypes
$ 
FVID      int64
vnum      int64
dtype: object
目标是将fVID中的长字符串和vnum中的短字符串连接到一个新列中

我这样做:

dfoffers['FVID'] = dfoffers['FVID'].astype(str) 
dfoffers['vnum'] = dfoffers['vnum'].astype(str) 
dfoffers['combo'] = df.FVID.astype(str).str.cat(df.vnum.astype(str), sep='')
dfoffers['combo'] = dfoffers['combo'].astype(str) 
令我惊讶的是,结果是:

$ dfoffers.head(1) 

              FVID      vnum                combo
0  1000373197012497808    2    1.0003415817309268e+181.0
如何将文本“2”添加到长FVID的末尾并显示新字符串而不使用指数表示法

试试看:

dfoffers['combo'] = dfoffers['FVID'].map(str) + dfoffers['vnum']

你的代码在我这边运行得很好FVID的数据类型是什么?我很确定这是基于你的结果。所以这里发生的事情是,当你转换为str时,你只需要得到浮点表示。你可以通过在执行字符串concat之前转换为int或舍入来解决,尽管转换为int可能会导致精度损失(或类似的结果)。但连接至少会像预期的那样起作用