[英]Can I force Python to return only in String-format when I concatenate two series of strings?
我想连接 pandas 中的两列,其中主要包含字符串值和一些缺失值。 结果应该是一个新列,该列再次包含字符串值和缺失值。 大多数情况下,它可以很好地解决这个问题:
df['newcolumn']=df['column1']+df['column2']
column1
中的大多数值都是数字(解释为字符串),例如82
。 但是column2
中的一些值是由字母和数字组成的,以E
开头,例如E52
或E83
。 现在连接82
和E83
时,我想要的结果是82E83
。 不幸的是,结果是8,2E+84
。 我猜,Python 隐含地将其作为一个带有科学记数法的数字进行了解释。
我已经尝试过不同的连接和强制字符串格式的方法,但结果总是一样的:
df['newcolumn']=(df['column1']+df['column2']).asytpe(str)
或者
df['newcolumn']=(df['column1'].str.cat(df['column2'])).asytpe(str)
似乎 Python 首先创建了一个浮点数,创建了这种不需要的格式,然后将类型更改为字符串,保持结果如8,2E+84
。 有没有严格保持字符串格式的解决方案?
编辑:感谢您的评论。 当我尝试用非常短的 dataframe 自己重现问题时,问题也没有发生。 最后我意识到这只是 Excel 自动将单元格解释为(错误)数字(在 CSV 输出中)的问题。 我以前没有意识到这一点,因为另一个 dataframe 来自我用于与此 dataframe 合并的 CSV 文件,该连接字符串也已被 ZC1D81AF583190DDEDBEDB484 以相同的方式“破坏” 所以合并没有正常工作,我认为 Python 中的连接是问题所在。 我曾经用 Excel 查看 dataframe 因为它真的很大。 以后我会更加小心地处理这个问题。 我很抱歉放错了问题!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.