[英]Converting all rows in a pandas dataframe column from scientific notation to float
[英]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.