熊猫意想不到的科学观念

时间:2016-07-17 01:22:35

标签: python string pandas format scientific-notation

我有一个大的csv文件包含一些总线网络信息。

停止代码由一个带有特定字母的大数字组成。但是,其中一些只是数字。当我把它们读成大熊猫时,大量数字变成科学概念。像

ionic serve --lab

它们的类型是对象,但我需要它们是正常数字才能交叉连接其他表。

由于列不是'int'或'float',我不能用整列修改它们。

有什么建议吗?

我从dropbox附加了文件

code_o  lat_o   lon_o   code_d
490016444HN 51.56878    0.1811568   490013271R
490013271R  51.57493    0.1781319   490009721A
490009721A  51.57708    0.1769355   490010407C
490010407C  51.57947    0.1775409   490011659G
490011659G  51.5806 0.1831088   490009810M
490009810M  51.57947    0.1848733   490014448S
490014448S  51.57751    0.185111    490001243Y
490001243Y  51.57379    0.1839945   490013654S
490013654S  51.57143    0.184776    490013482E
490013482E  51.57107    0.187039    490015118E
490015118E  51.5724 0.1923417   490011214E
490011214E  51.57362    0.1959939   490006980E
490006980E  51.57433    0.1999537   4.90E+09
4.90E+09    51.57071    0.2087701   490003049E
490003049E  51.5631 0.2146196   490004001A
490004001A  51.56314    0.2165552   490015350F

2 个答案:

答案 0 :(得分:0)

IIUC,在导入时尝试强制object列的code_d类型:

import numpy as np
import pandas as pd

df = pd.read_csv('your_original_file.csv', dtype={'code_d': 'object'})

然后,您可以解析该列,丢弃末尾的字母并将结果转换为整数类型:

df['code_d'] = df['code_d'].str[:-1].astype(np.int)

答案 1 :(得分:0)

保持简单:df=pd.read_csv('myfile.csv',dtype=str)它将以字符串形式读取所有内容。或者正如@Alberto早些时候发布的那样,仅指定该列:df=pd.read_csv('myfile.csv',dtype={'code_o':str})