在本教程中,我们将学习一种或多种列数据类型到另一种数据类型的转换。我们将使用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类型