将pandas列转换为没有科学记数法的字符串

时间:2015-10-30 04:36:27

标签: python pandas

很多问题都解决了这个问题,但没有一个解决方案似乎完全符合我的需要。

我的数据框有两列数字,每行10-20位数字。这些实际上是ID#,我想将它们连接起来。看起来最好先将值转换为字符串。

然而,当用.astype(str)进行转换时,大熊猫保留了科学记数法,而这种记法法不会飞。

我尝试过的事情:

尝试:str()

中的dtype arg('str')或转换器(使用read_csv()

结果:df.dtypes仍列出“对象”,值仍显示在sci中。符号

尝试:pd.set_option('display.float_format', lambda x: '%.0f' % x)

结果:在df.head()显示良好,但在胁迫时恢复为科学记数法字符串&使用+运算符连接

尝试:强制转换为int,str或str(int(x)) 结果:int在我使用int()强制一个值时起作用,但在我使用astype(int)时则不起作用。使用.apply()int()会导致'无效的文字长()与基数10'错误。

这感觉应该非常简单,急于弄清楚我错过了什么。

1 个答案:

答案 0 :(得分:2)

您尝试的设置了显示格式。您可以将float格式化为数据框中的字符串。

      proc exam {return_value} {

        set input "This is my world" 
         regexp {(This) (is) (my) (world)} $input all a b c d 
         set x "$a $b $c $d" 
    return x }

将pandas导入为pd

import numpy as np
import pandas as pd

import numpy as np