当前位置: 首页 > 编程笔记 >

更改Pandas Dataframe中一列或多列的数据类型

赫连瀚
2023-03-14
本文向大家介绍更改Pandas Dataframe中一列或多列的数据类型,包括了更改Pandas Dataframe中一列或多列的数据类型的使用技巧和注意事项,需要的朋友参考一下

在本教程中,我们将学习一种或多种列数据类型到另一种数据类型的转换。我们将使用DataFrame.astype()方法。

我们必须传递来自Python,Pandas或Numpy的任何数据类型以更改列元素的数据类型。我们还可以提供选定列的字典来更改特定列元素的数据类型。让我们看一下带有代码的示例。

示例

# importing the pandas library
import pandas as pd
# creating a DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Nhooo', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# we will change the data type of all columns to str
data_frame = data_frame.astype(str)
# checking the data types using data_frame.dtypes method
print(data_frame.dtypes)

输出结果

所有列数据类型都更改为str对象。如果运行上面的程序,您将得到以下结果。

No     object
Name   object
Age    object
dtype: object

现在,让我们尝试将Age列的数据类型从int更改为str。我们必须创建一个字典,以指定列名和所需的数据类型。

示例

# importing the pandas library
import pandas as pd
# creating a DataFrame
data_frame = pd.DataFrame({'No': [1, 2, 3], 'Name': ['Nhooo', 'Mohit', 'Sharma'], 'Age': [25, 32, 21]})
# creating a dictionary with column name and data type
data_types_dict = {'Age': str}
# we will change the data type of Age column to str by giving the dict to the astype method
data_frame = data_frame.astype(data_types_dict)
# checking the data types using data_frame.dtypes method
print(data_frame.dtypes)

输出结果

如果看到输出,则仅Age列数据类型从int更改为str。请参阅下面的结果。

No      int64
Name   object
Age    object
dtype: object

结论

如果您在遵循本教程方面遇到任何困难,请在评论部分中提及它们。

 类似资料:
  • 问题内容: 例如: 但是上述方法不起作用。我正在使用MySql 5.x 问题答案: 可以在一个语句中进行多个表更改,但一次只能处理一列,因此您需要为要更改的每一列指定: 另外,请注意手册中的以下警告: 当您使用CHANGE或MODIFY时,必须包括数据类型和应应用于新列的所有属性,而索引属性(例如PRIMARY KEY或UNIQUE)除外。原始定义中存在但未为新定义指定的属性不会继续。

  • 问题内容: 我想将表示为列表列表的表转换为。作为一个极其简化的示例: 将列转换为适当类型的最佳方法是什么(在这种情况下,将列2和3转换为浮点数)?有没有一种方法可以在转换为DataFrame时指定类型?还是先创建DataFrame然后遍历各列以更改各列的类型更好?理想情况下,我想以动态方式执行此操作,因为可以有数百个列,并且我不想确切指定哪些列属于哪种类型。我可以保证的是,每一列都包含相同类型的值

  • 问题内容: 我们需要将某些列的数据类型从int更改为bigint。不幸的是,其中一些表很大,大约有7-10百万行(但不宽)。 Alter表alter列将永远保留在这些表上。有没有更快的方法来实现这一目标? 问题答案: 巧合的是,大约3个小时前,我不得不做一些非常相似的事情。该表是3500万行,它相当宽,并且花了很多时间才能做到这一点: 这就是我最终得到的结果: 这次,这些陈述几乎是即时的。(在速度

  • 问题内容: 我想将多列的数据类型从float更改为int。最简单的方法是什么? 尚无数据可担心。 问题答案: http://dev.mysql.com/doc/refman/5.1/en/alter- table.html 这将更改给定列的数据类型 根据您希望修改的列数,最好生成一个脚本或使用某种mysql客户端GUI

  • 我们需要将表列数据类型从string更改为Date。当我试着做的时候,我得到了下面的错误。你能帮帮我吗。

  • 如何在PySpark中更改嵌套列的datatype?对于rxample,如何将value的数据类型从string更改为int? 参考:如何在pyspark中将Dataframe列从String类型更改为Double类型