Python pandas,Series取值,Series切片,Series的index和values属性,布尔索引
·
demo.py(Series取值,切片):
import pandas as pd
t1 = pd.Series([13, 23, 33, 43, 53], index=["a", "b", "c", "d", "e"])
print(t1)
'''
a 13
b 23
c 33
d 43
e 53
dtype: int64
'''
# 通过索引直接取值
print(t1["d"]) # 43
# 通过位置取值(从0开始)
print(t1[3]) # 43
# 切片
# 取位置连续的值
print(t1[1:4]) # 也可以指定步长
'''
b 23
c 33
d 43
dtype: int64
'''
# 取位置不连续的值
print(t1[[1,3]])
'''
b 23
d 43
dtype: int64
'''
# 也可以通过索引取多个值
print(t1[["b","d","w"]]) # 如果指定的索引不存在,那么对应值就返回NaN(float类型)
'''
b 23.0
d 43.0
w NaN
dtype: float64
'''
demo.py(Series的index和values属性):
import pandas as pd
t1 = pd.Series([13, 23, 33, 43, 53], index=["a", "b", "c", "d", "e"])
print(t1)
'''
a 13
b 23
c 33
d 43
e 53
dtype: int64
'''
print(type(t1.index)) # <class 'pandas.core.indexes.base.Index'>
print(t1.index) # Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(len(t1.index)) # 5 有长度 可以遍历迭代
# 可以强制转换成list类型
print(list(t1.index)) # ['a', 'b', 'c', 'd', 'e']
print(type(t1.values)) # <class 'numpy.ndarray'>
print(t1.values) # [13 23 33 43 53]
# ndarray的很多方法都可以运用到Series类型。 例如:argmax()获取最大值;clip()裁剪等。
# Series对象本质上由两个数组构成,一个构成索引index,一个构成对象的值values
demo.py(Series的布尔索引):
import pandas as pd
t1 = pd.Series([13, 23, 33, 43, 53], index=["a", "b", "c", "d", "e"])
print(t1)
'''
a 13
b 23
c 33
d 43
e 53
dtype: int64
'''
# Series类型也支持bool索引。
print(t1[t1>30])
'''
c 33
d 43
e 53
dtype: int64
'''
t1[t1>30] = 0
print(t1)
'''
a 13
b 23
c 0
d 0
e 0
dtype: int64
'''
更多推荐
已为社区贡献4条内容
所有评论(0)