我有一个大的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
答案 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})