给定一个矩阵数据,顺时针将数据打印出来。
import numpy as np
import pandas as pd
#生成一个10*8的矩阵
data = np.arange(1, 81).reshape((10,8))
df = pd.DataFrame(data)
while True:
#判断行或者列是否为空,为空则退出循环
if len(df.index) == 0 or len(df.columns) == 0:
break
#输出第一行
[print(i, end=' ') for i in df.iloc[:1].values[0]]
#删除第一行
df.drop(index=df.index[0], inplace=True)
if len(df.index)==0 or len(df.columns)==0:
break
#输出最后一列
[print(i, end=' ') for i in [ j[0] for j in df.iloc[:,-1:].values]]
#删除最后一列
df.drop(columns=df.columns[len(df.columns)-1], inplace=True)
if len(df.index) == 0 or len(df.columns) == 0:
break
#输出最后一行
[print(i, end=' ') for i in sorted(df.iloc[-1:].values[0], reverse=True)]
#删除最后一行
df.drop(index=df.index[len(df.index)-1], inplace=True)
if len(df.index) == 0 or len(df.columns) == 0:
break
#输出第一列
[print(i, end=' ') for i in sorted([j[0] for j in df.iloc[:, :1].values], reverse=True)]
#删除第一列
df.drop(columns=df.columns[0], inplace=True)
print()