熊猫:如何处理混合类型的列

时间:2017-12-15 12:42:28

标签: python pandas

我正在阅读包含混合数据类型的列的csv文件。我不知道该怎么做。

首先,这是我正在使用的数据:https://www.kaggle.com/epa/fuel-economy/data

现在我正在阅读该文件:

    data = pd.read_csv('data/database.csv', sep=',')

这是我收到的错误消息:

DtypeWarning: Columns (7,16,62,64,65,67,68,78) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)

现在我想知道该怎么做。 我可以添加low_memory=False或使用read_csv方法设置这些列的数据类型。我的问题是,我不确定我应该将它设置为什么类型,因为该数据集非常庞大,我无法确定哪种数据类型最适合每列。

有人可以帮我解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

要获得数据类型的打印输出,我执行了以下操作:

创建数据集的可迭代

将变量分配给第一个chunksize

df_chunks = pd.read_csv('database.csv', sep=',', chunksize=5)
df1 = next(df_chunks)  # df1 is a dataframe of the first 5 rows

获取第一行的数据类型:

for i, t in enumerate(df1.iloc[0]):
    print(type(t))

(由于打印输出很长,您可以附加到列表或创建一个字典,其中包含列名称和值的类型以便于查找)

或:

df1.info()

希望这有帮助!