迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Pandas 中把对象转换为浮点型

作者:迹忆客 最近更新:2024/04/21 浏览次数:

在本教程中,我们将重点介绍在 Pandas 中把对象型列转换为浮点数。对象型列包含一个字符串或其他类型的混合,而浮点数包含十进制值。在本文中,我们将对以下 DataFrame 进行操作。

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

print(df)
print("---------------------------")
print(df.info())

输出:

      a  b   c   d
0  10.0  6   7   8
1   1.0  9  12  14
2   5.0  8  10   6
---------------------------
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   a       3 non-null      object
 1   b       3 non-null      int64 
 2   c       3 non-null      int64 
 3   d       3 non-null      int64 
dtypes: int64(3), object(1)
memory usage: 224.0+ bytes
None

注意列'a'的类型,它是 object 类型。我们将使用 Pandas 中的 pd.to_numeric()astype() 函数将这个对象转换为 float。


在 Pandas 中使用 astype() 方法将对象转换为 Float

Pandas 提供了 astype() 方法,用于将一列转换为特定类型。我们将 float 传递给该方法,并将参数 errors 设置为'raise',这意味着它将为无效值引发异常。例子:

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

df["a"] = df["a"].astype(float, errors="raise")

print(df.info())

输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a    3 non-null float64
b    3 non-null int64
c    3 non-null int64
d    3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes

在 Pandas 中使用 to_numeric() 函数将对象转换为浮点型

Pandas 的 to_numeric() 函数可以用来将列表、系列、数组或元组转换为数字数据类型,也就是有符号、无符号的整型和浮点数类型。它还有 errors 参数来引发异常。下面是一个使用 to_numeric() 将对象类型转换为浮点类型的例子。

import pandas as pd

df = pd.DataFrame(
    [["10.0", 6, 7, 8], ["1.0", 9, 12, 14], ["5.0", 8, 10, 6]],
    columns=["a", "b", "c", "d"],
)

df["a"] = pd.to_numeric(df["a"], errors="coerce")

print(df.info())

输出:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
a    3 non-null float64
b    3 non-null int64
c    3 non-null int64
d    3 non-null int64
dtypes: float64(1), int64(3)
memory usage: 224.0 bytes

上一篇:在 Pandas DataFrame 中两列相减

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Pandas 中加载 JSON 文件

发布时间:2024/04/21 浏览次数:97 分类:Python

本教程介绍了我们如何使用 pandas.read_json()方法将一个 JSON 文件加载到 Pandas DataFrame 中。

将 Pandas DataFrame 写入 CSV

发布时间:2024/04/21 浏览次数:174 分类:Python

本教程介绍了我们如何使用 pandas.DataFrame.to_csv()函数将 DataFrame 写入 CSV 文件。

拆分 Pandas DataFrame

发布时间:2024/04/21 浏览次数:115 分类:Python

本教程介绍了如何将一个 DataFrame 分割成多个较小的 DataFrame。

比较 Pandas DataFrame 对象

发布时间:2024/04/21 浏览次数:62 分类:Python

本教程介绍了我们如何在 Python 中比较 Pandas DataFrame 对象。比较 DataFrames 对检查 DataFrames 之间的差异非常有帮助。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便