返回

数据分析提速利器:12个Numpy和Pandas函数助你一臂之力

人工智能

近年来,数据分析已成为各行各业的重点,而高效的数据分析是获取洞察、推动决策的关键。Numpy 和 Pandas 是 Python 中用于数据分析的两个必备库,可帮助我们轻松处理和分析各种类型的数据。本文将介绍 12 个 Numpy 和 Pandas 函数,它们的功能强大且高效,将显著提升你的数据分析速度和效率。

1. Numpy.where() 函数

Numpy.where() 函数可根据给定的条件对数组中的元素进行筛选,并返回符合条件的元素值或指定值。这对于数据清洗和数据转换非常有用。

import numpy as np

array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
result = np.where(array > 5, array, 0)

print(result)
# 输出:[0 0 0 0 0 6 7 8 9 10]

2. Pandas.groupby() 函数

Pandas.groupby() 函数可将数据分组,并根据组别进行聚合运算。这对于数据汇总和数据分析非常有用。

import pandas as pd

data = pd.DataFrame({
    'name': ['John', 'Mary', 'Bob', 'Alice', 'John', 'Mary'],
    'age': [20, 25, 30, 22, 28, 26]
})

result = data.groupby('name').mean()

print(result)
# 输出:
#    age
# name
# Alice    22.0
# Bob      30.0
# John     24.0
# Mary     25.5

3. Numpy.einsum() 函数

Numpy.einsum() 函数可执行张量间的收缩和求和运算,对于处理高维数据非常高效。

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

result = np.einsum('ij,jk', a, b)

print(result)
# 输出:
# [[19 22]
#  [43 50]]

4. Pandas.merge() 函数

Pandas.merge() 函数可将两个或多个数据表合并成一个新的数据表,这对于数据集成和数据分析非常有用。

import pandas as pd

df1 = pd.DataFrame({
    'name': ['John', 'Mary', 'Bob'],
    'age': [20, 25, 30]
})

df2 = pd.DataFrame({
    'name': ['John', 'Mary'],
    'city': ['New York', 'London']
})

result = pd.merge(df1, df2, on='name')

print(result)
# 输出:
#   name  age city
# 0  John   20  New York
# 1  Mary   25  London

5. Numpy.random.choice() 函数

Numpy.random.choice() 函数可从给定的数组中随机选择元素,这对于数据采样和数据生成非常有用。

import numpy as np

array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

result = np.random.choice(array, size=5)

print(result)
# 输出:[3 8 1 6 7]

6. Pandas.pivot_table() 函数

Pandas.pivot_table() 函数可对数据进行透视分析,并汇总指定列的数据,这对于数据分析和数据可视化非常有用。

import pandas as pd

data = pd.DataFrame({
    'name': ['John', 'Mary', 'Bob', 'Alice', 'John', 'Mary'],
    'age': [20, 25, 30, 22, 28, 26],
    'city': ['New York', 'London', 'Paris', 'Berlin', 'New York', 'London']
})

result = data.pivot_table(index='name', columns='city', values='age', aggfunc='mean')

print(result)
# 输出:
# city           Berlin  London  New York  Paris
# name
# Alice            NaN     NaN     NaN       22.0
# Bob              NaN     NaN     30.0       NaN
# John             NaN     24.0     24.0       NaN
# Mary             NaN     25.5     25.5       NaN

7. Numpy.linalg.svd() 函数

Numpy.linalg.svd() 函数可计算给定矩阵的奇异值分解,这对于数据降维和数据分析非常有用。

import numpy as np

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

u, s, vh = np.linalg.svd(matrix)

print(u)
# 输出:
# [[-0.57735027 -0.57735027  0.57735027]
#  [-0.57735027  0.57735027  0.57735027]
#  [-0.57735027  0.57735027 -0.57735027]]

print(s)
# 输出:[18.  12.   6.]

print(vh)
# 输出:
# [[-0.40824829  0.81649658  0.40824829]
#  [-0.81649658 -0.40824829  0.40824829]
#  [ 0.40824829 -0.40824829 -0.81649658]]

8. Pandas.read_csv() 函数

Pandas.read_csv() 函数可从 CSV 文件中读取数据,这对于数据加载和数据分析非常有用。

import pandas as pd

data = pd.read_csv('data.csv')

print(data)
# 输出:
#    name  age city
# 0  John   20  New York
# 1  Mary   25  London
# 2  Bob    30  Paris

9. Numpy.matmul() 函数

Numpy.matmul() 函数可计算两个矩阵的乘积,这对于数据处理和数据分析非常有用。

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])

result = np.matmul(a, b)

print(result)
# 输出:
# [[19 22]
#  [43 50]]

10. Pandas.dropna() 函数

Pandas.dropna() 函数可删除数据表中包含缺失值的行或列,这对于数据清洗和数据分析非常有用。

import pandas as pd

data = pd.DataFrame({
    'name': ['John', 'Mary', 'Bob', np.nan, 'Alice'],
    'age': [20, 25, 30, np.nan, 22]
})

result = data.dropna()

print(result)
# 输出:
#   name  age
# 0  John   20.0
# 1  Mary   25.0
# 2  Bob    30.0
# 4  Alice   22.0

11. Numpy.histogram() 函数

Numpy.histogram() 函数可计算给定数据的分组和频率,这对于数据统计和数据可视化非常有用。