Pandas DataFrame Convert_dtypes 方法

PandasPandasBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

Python Pandas 中的 DataFrame.convert_dtypes() 方法用于将 DataFrame 的列转换为最佳可能的数据类型。它在处理包含混合数据类型的 DataFrame 列时特别有用,或者当我们希望通过将数据存储在最适合的数据类型中来优化内存使用时也非常实用。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作的验证无法自动化。

如果你在学习过程中遇到问题,随时可以询问 Labby。在课程结束后提供反馈,我们将及时为你解决问题。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) pandas(("Pandas")) -.-> pandas/DataManipulationGroup(["Data Manipulation"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") pandas/DataSelectionGroup -.-> pandas/select_columns("Select Columns") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") pandas/DataManipulationGroup -.-> pandas/change_data_types("Changing Data Types") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills python/variables_data_types -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} python/type_conversion -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} pandas/select_columns -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} pandas/select_rows -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} pandas/change_data_types -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} python/importing_modules -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} python/data_collections -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} python/data_analysis -.-> lab-68597{{"Pandas DataFrame Convert_dtypes 方法"}} end

导入必要的库并创建 DataFrame

首先,我们需要导入 pandas 库,它提供了 DataFrame 类和 convert_dtypes() 方法。然后,我们可以创建一个包含不同数据类型的 DataFrame。

import pandas as pd

df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': ['d', 'e', 'f'], 'C': [1, 2, 3], 'D': [True, False, True]})

检查 DataFrame 的当前数据类型

要查看 DataFrame 列的当前数据类型,我们可以使用 dtypes 属性。

print("Current data types:")
print(df.dtypes)

将 DataFrame 列转换为最佳可能的数据类型

要将 DataFrame 列转换为最佳可能的数据类型,我们可以使用 convert_dtypes() 方法。默认情况下,它会尝试将 object 数据类型转换为最适合的类型,例如将包含字符串的 object 列转换为 StringDtype,将包含布尔值的 object 列转换为 BooleanDtype

df_converted = df.convert_dtypes()

检查转换后的数据类型

现在我们可以检查转换后 DataFrame 列的数据类型。

print("Data types after conversion:")
print(df_converted.dtypes)

总结

在本实验中,我们学习了如何在 Python Pandas 中使用 DataFrame.convert_dtypes() 方法将 DataFrame 的列转换为最佳可能的数据类型。当处理列中的混合数据类型或优化内存使用时,此方法非常有用。通过将列转换为最合适的数据类型,我们可以提高数据分析和操作的效率。