Python 数据帧将大数读取为字符串

Python 数据帧将大数读取为字符串,python,types,pandas,Python,Types,Pandas,我正在从csv创建一个数据帧,如下所示 topcell=pd.DataFrame.from_csv(“url/output_topcell.txt”,header=0,sep=',,parse_dates=True,encoding=None,tupleize_cols=False) 我感兴趣的列(单元格)包含我需要转换为字符串的长数字(例如6468716846847) 创建数据帧后,默认情况下,数据类型似乎是numpy.float64(包括一些nan值) 当我使用: topcells.cell

我正在从csv创建一个数据帧,如下所示

topcell=pd.DataFrame.from_csv(“url/output_topcell.txt”,header=0,sep=',,parse_dates=True,encoding=None,tupleize_cols=False)

我感兴趣的列(单元格)包含我需要转换为字符串的长数字(例如6468716846847)

创建数据帧后,默认情况下,数据类型似乎是numpy.float64(包括一些nan值)

当我使用:

topcells.cell=topcells.cell.astype(str)

或:

topcells['cell']=topcells['cell'].应用(lambda x:str(x))

我得到的字符串实际上不是“6468716846847”,而是类似于“6.468716846847e+12”的字符串


如何避免使用这种科学符号并将完整数字作为字符串?

您应该使用顶级名称空间中的
read\u csv
函数,它有更多的读取选项,包括
dtype
参数

例如,使用
tst.csv

c1,c2,c3,c4,c5
a,b,6468716846847,12,13
d,e,6468716846848,13,14
你会得到:

In [11]: pd.read_csv('tst.csv', dtype={'c3': 'str'})
Out[11]: 
  c1 c2             c3  c4  c5
0  a  b  6468716846847  12  13
1  d  e  6468716846848  13  14

[2 rows x 5 columns]

您应该使用顶级名称空间中的
read\u csv
函数,它有更多的读取选项,包括
dtype
参数

例如,使用
tst.csv

c1,c2,c3,c4,c5
a,b,6468716846847,12,13
d,e,6468716846848,13,14
你会得到:

In [11]: pd.read_csv('tst.csv', dtype={'c3': 'str'})
Out[11]: 
  c1 c2             c3  c4  c5
0  a  b  6468716846847  12  13
1  d  e  6468716846848  13  14

[2 rows x 5 columns]

您应该使用顶级名称空间中的
read\u csv
函数,它有更多的读取选项,包括
dtype
参数

例如,使用
tst.csv

c1,c2,c3,c4,c5
a,b,6468716846847,12,13
d,e,6468716846848,13,14
你会得到:

In [11]: pd.read_csv('tst.csv', dtype={'c3': 'str'})
Out[11]: 
  c1 c2             c3  c4  c5
0  a  b  6468716846847  12  13
1  d  e  6468716846848  13  14

[2 rows x 5 columns]

您应该使用顶级名称空间中的
read\u csv
函数,它有更多的读取选项,包括
dtype
参数

例如,使用
tst.csv

c1,c2,c3,c4,c5
a,b,6468716846847,12,13
d,e,6468716846848,13,14
你会得到:

In [11]: pd.read_csv('tst.csv', dtype={'c3': 'str'})
Out[11]: 
  c1 c2             c3  c4  c5
0  a  b  6468716846847  12  13
1  d  e  6468716846848  13  14

[2 rows x 5 columns]

假设该列中没有NaN,u也可以作为int64读入假设该列中没有NaN,u也可以作为int64读入假设该列中没有NaN,u也可以作为int64读入假设该列中没有NaN,u也可以作为int64读入