一、何为一维、二维
python代码中常常会看到axis=0,axis=1,让人有点摸不着头脑。
(三维数据过于复杂,这里不涉及,先跳过)

举例:
列表1:[2,3,4] 转换为数组,形状为(3,)
列表2:[[2,3,4][1,0,7]] 转换为数组,形状为(2,3)
其实axis指定对行还是列的数据进行操作 axis = 0,沿着行(竖向为行); axis =1 ,沿着列(横向为列)。
二、不同函数对维度的操作
drop函数():【针对df进行操作】
- axis=0【沿着列方向】,drop函数删除行
- axis=1【沿着行方向】,drop函数删除列
- 用法:drop([ ],axis=0,inplace=True) 第三个参数默认为False,表示保持原来的数据不变。
- 举例:
-
import numpy as np import pandas as pd df1 = pd.DataFrame({'list1':[2,3], 'list2':[25,26],'list3':[5,2]}) df2 = pd.DataFrame({'list1':[5,6], 'list2':[2,2],'list3':[7,3]}) a = pd.concat([df1,df2],axis=0) a.drop(['list1'],axis=1,inplace=True) print(a)举例2:
-
import numpy as np import pandas as pd df1 = pd.DataFrame({'list1':[2,3], 'list2':[25,26],'list3':[5,2]}) df2 = pd.DataFrame({'list1':[5,6], 'list2':[2,2],'list3':[7,3]}) a = pd.concat([df1,df2],axis=0) a.drop(0,axis=0,inplace=True) print(a)删除第一行,即索引为0的行。
concat函数:【只能对series、以及df进行操作】
axis=0,纵向合并。【数据上下联合】
axis=1,横向合并。【数据左右合并】
举例:
import numpy as np
import pandas as pd
df1 = pd.DataFrame({'list1':[2,3], 'list2':[25,26],'list3':[5,2]})
df2 = pd.DataFrame({'list1':[5,6], 'list2':[2,2],'list3':[7,3]})
a = pd.concat([df1,df2],axis=0)
print(a)
运行结果:
list1 list2 list3
0 2 25 5
1 3 26 2
0 5 2 7
1 6 2 3
举例2:
上述df,改为axis=1(沿着行操作,即横向合并),得到结果如下:
list1 list2 list3 list1 list2 list3
0 2 25 5 5 2 7
1 3 26 2 6 2 3
mean()函数:计算每一列的均值。使用时指定axis。【不能操作列表,只能操作数组】
举例:
数组[[2,3,4],[1,2,2]] mean(axis=0,沿竖向),均值为[1.5,2.5,3]
若mean(axis=1,沿横向),均值为[3,1.67]
本文介绍了Python中一维和二维数据的概念,通过示例解释了axis参数在不同场景下的作用,如drop函数的行/列删除,concat函数的纵向/横向合并,以及mean函数计算列均值的应用。

1万+

被折叠的 条评论
为什么被折叠?



