axis=0 和 axis=1的区分设置matplotlib正常显示中文和负号
axis=0
和 axis=1
是用来指定操作的维度或轴的参数。
记忆方法
axis=0
:想象一个二维数组,沿着列方向(垂直方向)操作。axis=1
:想象一个二维数组,沿着行方向(水平方向)操作。
1. NumPy 中的 axis
参数
在 NumPy 中,axis
参数用于指定操作的维度。对于二维数组(矩阵),axis=0
表示沿着列操作,而 axis=1
表示沿着行操作。
eg:
import numpy as np
# 创建一个 3x4 的二维数组
array = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 沿着列操作(axis=0)
print("沿着列求和 (axis=0):")
print(np.sum(array, axis=0)) # 输出:[15 18 21 24]
# 沿着行操作(axis=1)
print("沿着行求和 (axis=1):")
print(np.sum(array, axis=1)) # 输出:[10 26 42]
解释
axis=0
:沿着列操作,即对每一列进行操作。例如,np.sum(array, axis=0)
会对每一列的元素求和,结果是一个包含每列和的数组。axis=1
:沿着行操作,即对每一行进行操作。例如,np.sum(array, axis=1)
会对每一行的元素求和,结果是一个包含每行和的数组。
2. Pandas 中的 axis
参数
在 Pandas 中,axis
参数用于指定操作的维度。对于 DataFrame,axis=0
表示沿着行操作(即对每一列进行操作),而 axis=1
表示沿着列操作(即对每一行进行操作)。
eg:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]}
df = pd.DataFrame(data)
# 沿着行操作(axis=0)
print("沿着行求和 (axis=0):")
print(df.sum(axis=0)) # 输出:A 6
# B 15
# C 24
# 沿着列操作(axis=1)
print("沿着列求和 (axis=1):")
print(df.sum(axis=1)) # 输出:0 12
# 1 15
# 2 18
解释
axis=0
:沿着行操作,即对每一列进行操作。例如,df.sum(axis=0)
会对每一列的元素求和,结果是一个包含每列和的 Series。axis=1
:沿着列操作,即对每一行进行操作。例如,df.sum(axis=1)
会对每一行的元素求和,结果是一个包含每行和的 Series。
3. 总结
axis=0
:沿着列操作,对每一列进行操作(在 NumPy 中是沿着列,在 Pandas 中是沿着行)。axis=1
:沿着行操作,对每一行进行操作(在 NumPy 中是沿着行,在 Pandas 中是沿着列)。
设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号