【发布时间】:2018-11-09 14:41:25
【问题描述】:
我正在阅读 csv,我不希望将列的数据类型作为对象,它们应该是 int、float、str 等。
data = pd.read_csv(file_path+files, delimiter='\t', error_bad_lines=False)
data.dtypes:
Time object
Code int64
Address object
dtype: object
有什么方法可以让我们在读取时从 csv 中读取数据类型:
预期:
data.dtypes:
Time int
Code int64
Address str
我有一个看起来像这样的数据框:
df:
A B C
abc 10 20
def 30 50
cfg 90 60
pqr str 50
xyz 75 56
我想删除列“B”不是“int”的行。由于 B 的 dtype 设置为 'object' 我无法这样做。
【问题讨论】:
-
那么,时间的格式是什么?如果它是标准格式,那么您可以使用
parse_dates参数,但文档提示您通常需要在导入For non-standard datetime parsing, use pd.to_datetime after pd.read_csv后处理此问题。此外,没有str类型。该列需要为object。 -
这个问题我不清楚。 only 类型的 CSV 数据是...文本。因为 CSV 文件只是文本。其他任何东西都只是解析器的解释。我认为这就是@ALollz 的意思。