Python 数据帧将大数读取为字符串
我正在从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”的字符串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
如何避免使用这种科学符号并将完整数字作为字符串?您应该使用顶级名称空间中的
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读入