Pandas abs()

Pandas 的 abs() 方法用于计算 DataFrame 中每个元素的绝对值。

示例

import pandas as pd

# create a DataFrame
df = pd.DataFrame({
    'A': [-1, -2, -3],
    'B': [-5, -6, 7],
    'C': [9, -10, 11]
})

# calculate the absolute values absolute_df = df.abs()
print(absolute_df) ''' Output A B C 0 1 5 9 1 2 6 10 2 3 7 11 '''

abs() 语法

Pandas 中 abs() 方法的语法是:

df.abs()

abs() 参数

Pandas 中 abs() 方法不接受任何参数。


abs() 返回值

abs() 方法将返回一个新的 DataFrame,其中包含每个元素的绝对值。


示例 1:使用 abs() 计算绝对值

import pandas as pd

# create a DataFrame
df = pd.DataFrame({
    'X': [10, -20, -30, 40],
    'Y': [-50, 60, -70, 80],
    'Z': [-90, 100, 110, -120]
})

# calculate the absolute values absolute_df = df.abs()
print(absolute_df)

输出

   X   Y    Z
0  10  50   90
1  20  60  100
2  30  70  110
3  40  80  120

在这里,我们使用 abs() 方法计算 df DataFrame 中每个元素的绝对值。

10 的绝对值是 10,-20 的绝对值是 20-30 的绝对值是 30,以此类推。


示例 2:处理复数

import pandas as pd

# create a DataFrame with complex numbers
df = pd.DataFrame({
    'Complex1': [1+2j, -2-3j, 3+4j],
    'Complex2': [-4+5j, 5-6j, -6-7j]
})

# calculate absolute values of df DataFrame result = df.abs()
print(result)

输出

   Complex1  Complex2
0  2.236068  6.403124
1  3.605551  7.810250
2  5.000000  9.219544

在上面的示例中,将 abs() 方法应用于 df DataFrame,并返回包含复数幅度的 result

幅度是使用以下公式计算的复数的绝对值:

√(a^2 + b^2)

在这里,ab 分别是复数的实部和虚部。


示例 3:混合数值数据类型的 DataFrame 的绝对值

import pandas as pd

# create a DataFrame with different numeric types
df = pd.DataFrame({
    'Integers': [1, -2, -3, 4],
    'Floats': [-1.5, 2.3, -3.7, 4.8],
    'Complex': [1+1j, -1-1j, 1-1j, -1+1j]
})

# apply abs() to get the absolute values or magnitudes absolute_df = df.abs()
print(absolute_df)

输出

   Integers  Floats   Complex
0         1     1.5  1.414214
1         2     2.3  1.414214
2         3     3.7  1.414214
3         4     4.8  1.414214

在此示例中,我们创建了包含整数、浮点数和复数三种不同数值类型的 df DataFrame。

abs() 计算整数和浮点数的绝对值,以及复数的幅度,从而生成一个所有值都为非负数的新 DataFrame。


示例 4:将 abs() 应用于特定列

import pandas as pd

# create a DataFrame
df = pd.DataFrame({
    'A': [-1, 2, -3, 4],
    'B': [5, -6, 7, -8]
})

# apply abs() to a single column df['A'] = df['A'].abs()
print(df)

输出

   A  B
0  1  5
1  2 -6
2  3  7
3  4 -8

在这里,我们将 abs() 应用于列 A 以其绝对值替换它,并打印修改后的 DataFrame,其中列 B 保持不变。

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战