繁体   English   中英

从同时包含string和float的pandas列中删除科学计数法

[英]Remove scientific notation from pandas column containing both string and float

我无法从包含字符串和非字符串条目的列中删除科学计数法。

当我使用read_csv导入数据集时,其中一列显示以下内容:

0           1.9157E+11
11          1.9157E+11
12          1.9157E+11
13          1.9157E+11
14          1.9157E+11
         ...      
37444    19156794-1005
37445    19156794-1004
37446      19156791023
37447    19156794-1003
37448    19156794-1003

虽然所有条目都编码为字符串,但是某些行仅包含数字(因此它们将转换为科学计数法),而某些行包含“-”(因此它们将正确显示)。

当我打印dataframe['column'][11] ,得到的是'1.9157E+11' ,它是一个字符串。

我无法对整个列使用apply(float) ,因为某些条目包含“-”,因此无法转换为字符串。

也有人问了这个问题 ,但《任择议定书》面临同样的问题(见解决方案下的评论),但没有解决。

如果需要转换所有可转换值并将其他值保留不变,则可以使用以下代码:

def try_float(x):
    try:
        return float(x)
    except ValueError as e:
        return x

series.apply(try_float)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM