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

Python 熊猫:如何处理混合类型的列,python,pandas,Python,Pandas,我正在读取包含混合数据类型的列的csv文件。我不知道该怎么办 首先,这是我使用的数据: 现在我正在阅读以下文件: 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. inte

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

首先,这是我使用的数据:

现在我正在阅读以下文件:

    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\u memory=False
或在
read\u csv
方法中设置这些列的数据类型。我的问题是,我不确定应该将其设置为哪种类型,因为该数据集太大了,我无法确定哪种数据类型适合每列


有人能帮我解决我的问题吗?

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

创建数据集的iterable

将第一个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))
(由于打印输出很长,您可以附加到列表或创建一个字典,其中包含列名和值以及类型,以便于查找)

或:


希望这有帮助

我可以添加low_memory=False
这可能就是解决方案。很难说每个列的最佳数据类型是什么。熊猫会自动做到这一点。
df1.info()