将 Pandas 列的数据类型转换为 int
在本文中,我们将看到如何将 Pandas 列转换为 int。使用外部数据创建pandas.DataFrame 后,系统会将数字列作为数据类型对象而不是 int 或 float,创建数字任务是不可能的。我们将传递任何Python、 Numpy 或 Pandas 数据类型来改变数据帧的所有列的类型,或者我们将传递一个以列名作为键和数据类型作为值的字典来改变所选列的类型。
这里astype()函数使我们能够表达您需要的数据类型。它的适应性极强,即您可以尝试从一种类型转换为另一种类型。
方法:
- 导入熊猫
- 初始化数据帧
- 将函数应用于 DataFrame 列
- 列的打印数据类型
示例 1:
我们首先使用标准语法导入了 pandas 模块。然后我们创建了一个数据框,其值为 1、2、3、4,列索引为 a 和 b。我们将此数据框命名为 df。接下来我们使用 astype() 方法转换列类型。最终输出是转换后的列数据类型。
代码:
Python
import pandas as pd
df = pd.DataFrame([["1", "2"], ["3", "4"]],
columns = ["a", "b"])
df["a"] = df["a"].astype(str).astype(int)
print(df.dtypes)
Python
import pandas as pd
# sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e'],
'C': [1.1, '1.0', '1.3', 2, 5] })
# using dictionary to convert specific columns
convert_dict = {'A': int,
'C': float }
df = df.astype(convert_dict)
print(df.dtypes)
输出:
示例 2:
我们首先使用标准语法导入了 pandas 模块。然后我们创建了一个值为 'A' 的数据框:[1, 2, 3, 4, 5], 'B': ['a', 'b', 'c', 'd', 'e'], ' C': [1.1, '1.0', '1.3', 2, 5] 和列索引为 A、B 和 C。我们使用名为 convert_dict 的字典来转换特定的列 A 和 C。我们将此数据框命名为 df。接下来,我们使用 astype() 方法转换了列类型。最终输出是转换后的列数据类型。
Python
import pandas as pd
# sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e'],
'C': [1.1, '1.0', '1.3', 2, 5] })
# using dictionary to convert specific columns
convert_dict = {'A': int,
'C': float }
df = df.astype(convert_dict)
print(df.dtypes)
输出: