利用Python进行数据分析中 DataFrame轴的应用分类

DataFrame轴可分为:

行索引:index/axis=0(默认) 

列索引:columns/axis=1

一.正相关(axis=0则在每行上操作,axis=1则在每列上操作)

1.行或列的删除

data=pd.DataFrame(np.arange(16).reshape((4,4)),
                  index=['Ohio','Colorado','Utah','New York'],
                  columns=['one','two','three','four'])
data.drop(['Colorado','Utah'])#删除行
print(data)
data4=data.drop(['Colorado','Utah'],inplace=True)#inplace会删除数据
print(data)

data2=data.drop('two',axis=1)#删除1列 或axis='columns'
print(data)
data3=data.drop(['two','three'],axis='columns',inplace=True)#删除多列
print(data)

利用Python进行数据分析中 DataFrame轴的应用分类_第1张图片

利用Python进行数据分析中 DataFrame轴的应用分类_第2张图片

上面删除的数据仍存在

 利用Python进行数据分析中 DataFrame轴的应用分类_第3张图片

 删除的数据已不存在

2.按行列索引排序

frame=pd.DataFrame(np.arange(8).reshape((2,4)),
                   index=['three','one'],
                   columns=['d','a','b','c'])
print(frame)
print(frame.sort_index(axis=0))#按行索引排序
print(frame.sort_index(axis=1))#按列索引排序
print(frame.sort_index(axis=1,ascending=False))#默认为升序排列 False为降序

利用Python进行数据分析中 DataFrame轴的应用分类_第4张图片

 利用Python进行数据分析中 DataFrame轴的应用分类_第5张图片

 二.反相关(axis=0则在每列上操作,axis=1则在每行上操作)

1.按各行列中的值大小排列

frame=pd.DataFrame({'b':[4,7,-3,2],'a':[0,1,0,1]},index=['one','two','three','four'])
frame.sort_values(axis=1,by=['one','two','three','four'])#按行中的值大小排序

利用Python进行数据分析中 DataFrame轴的应用分类_第6张图片

也可添加inplace属性,保存排序结果

2. 函数应用和映射

frame=pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['Utah','Ohio','Texas','Oregon'])
print(frame)
#print(np.abs(frame))#取绝对值

f=lambda x: x.max()-x.min()
#lambda 函数是一种小的匿名函数。
#lambda 函数可接受任意数量的参数,但只能有一个表达式
print(frame.apply(f))#每列调用一次
print(frame.apply(f,axis='columns'))#每行调用一次

利用Python进行数据分析中 DataFrame轴的应用分类_第7张图片

利用Python进行数据分析中 DataFrame轴的应用分类_第8张图片 

以上内容仅为本人记忆技巧

也可记忆为:

要对表中每一个值进行操作时,需另一个轴进行辅助定位。(如函数应用和映射,按各行列中的值大小排列等)

对各行进行操作时同一行中的不同列才可对应不同值,所以axis=1

反之,仅需要索引就可完成的操作,则使用对应索引类型即可。(如行列的删除,按行列索引排序等)

行:axis=0/'index'

列:axis=1/'columns'

你可能感兴趣的:(分类,python,数据分析)