我有一个包含130,000行的csv文件.在使用pandas的read_csv函数读入文件后,其中一个列("CallGuid")具有混合对象类型.
我做了:
df = pd.read_csv("data.csv")
Run Code Online (Sandbox Code Playgroud)
然后我有这个:
In [10]: df["CallGuid"][32767]
Out[10]: 4129237051L
In [11]: df["CallGuid"][32768]
Out[11]: u'4129259051'
Run Code Online (Sandbox Code Playgroud)
所有行<= 32767都是类型long,所有行> 32767都是unicode
为什么是这样?
正如其他人指出的那样,您的数据可能格式不正确,例如有引号或其他东西......
试着做:
import pandas as pd
import numpy as np
df = pd.read_csv("data.csv", dtype={"CallGuid": np.int64})
Run Code Online (Sandbox Code Playgroud)
它还具有更高的内存效率,因为 Pandas 不必猜测数据类型。
| 归档时间: |
|
| 查看次数: |
5798 次 |
| 最近记录: |