因为一个切片索引导致一上午在纠结代码肿么回事!ε=(´ο`*)))唉
话不多说,上例子
切片之一维数组
import numpy as np
a=np.arange(5)
print(a)
print(a[-1]) ###取最后一个元素
print(a[:-1]) ### 除了最后一个取全部
print(a[::-1]) ### 取从后向前(逆序)的元素
print(a[2::-1]) ### 取从下标为2的元素翻转读取
print(a[:1:-1]) # 取原数组从第2位开始到最后的元素的逆序
[0 1 2 3 4]
4
[0 1 2 3]
[4 3 2 1 0]
[2 1 0]
[4 3 2]
切片之二维数组
.iloc()函数
以pandas的DataFrame数据类型为例,使用.iloc()函数
my_dict = [{'a':1,'b':2,'c':3,'d':4},{'a':10,'b':20,'c':30,'d':40},{'a':100,'b':200,'c':300,'d':400}]
df = pd.DataFrame(my_dict)
print(df)
print(df.iloc[:,1:-1])
print('')
print(df.iloc[:2,[1,-1]])
df = pd.DataFrame({'a':[1,2,3,4],'b':[10,20,30,40],'c':[100,200,300,400]})
print(df)
print(df.iloc[:,[1,-1]])
print(df.iloc[:,1:-1])
slice()函数
slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。slice()中的参数有以下三种形式:
- slice(stop)
- slice(start, stop)
- slice(start, stop, step)
start – 起始位置
stop – 结束位置
step – 间距
详细例子见以下链接:
python中slice()的使用
enumerate()
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
enumerate(iterable, [start=0])
enumerate()函数返回一个枚举对象,iterable必须是一个序列、一个迭代器或者其他支持迭代的对象(字符串,数组,列表等)
例子1(不指定start参数,默认索引值从0开始)
seasons = ['spring','summer','fall','winter']
for index, item in enumerate(seasons):
print(index,item)
0 spring
1 summer
2 fall
3 winter
例子2 (指定start参数)
seasons = ['spring','summer','fall','winter']
for index, item in enumerate(seasons,1):
print(index,item)
1 spring
2 summer
3 fall
4 winter