我想为 pandas read_csv 指定数据类型。以下是一些可行的示例,当指定了数据类型时,它们起作用,但也有一些不起作用的情况。为什么会出现这种情况呢?
import io
import pandas as pd
csv = """foo,1234567,a,1
foo,2345678,b,3
bar,3456789,b,5
"""
df = pd.read_csv(io.StringIO(csv),
names=["fb", "num", "loc", "x"])
print(df)
df = pd.read_csv(io.StringIO(csv),
names=["fb", "num", "loc", "x"],
dtype=["|S3", "np.int64", "|S1", "np.int8"])
print(df)
根据BrenBarn的建议,我进行了更新,使得这个方法更加简单易懂。我的真实数据集要大得多,但我想在导入时使用该方法为所有数据生成类型。
dtype = {'column_1' : np.int32, 'column_2' : np.int64}
。您不需要指定对象,因为字符串类型的列会自动处理。 - Jeff