2、运行下列代码,生成一个Series数据对象ds。 (1)先输出标签索引'M'的值,再切片输出标签索引"A"到"B"之间的值。 (2)先输出位置索引12的值,再切片输出位置索引最后5个数据的值。如何 理解标签索引和位置索引切片操作的区别? (3)先将标签索引"N"的值修改为11,再将所有值为6的数据,其值修改为 16。 (4)将标签索引"A"到"D"四个大写字母,修改成对应的"a"到"d"四个小写字 母。 (5)对ds对象按标签索引降序排列,对排列的结果先输出前5个数据值,再 输出后3个数据值。 (6)对ds对象按数据值升序排列,对排列的结果循环依次输出其值最大的前 5个数据。 (7)删除ds对象的标签索引,重新建立新的位置索引 (8)对ds对象的数据值进行计数统计,并输出出现次数最多的那个值及次 数。
时间: 2024-01-21 09:19:50 浏览: 77
Python DataFrame 设置输出不显示index(索引)值的方法
5星 · 资源好评率100%
```python
import pandas as pd
import numpy as np
data = np.array([1,2,3,4,5,6,6,7,8,9,10,11,12,13,14])
labels = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O']
ds = pd.Series(data=data, index=labels)
# (1)先输出标签索引'M'的值,再切片输出标签索引"A"到"B"之间的值。
print(ds['M'])
print(ds['A':'B'])
# (2)先输出位置索引12的值,再切片输出位置索引最后5个数据的值。
print(ds.iloc[12])
print(ds.iloc[-5:])
# 标签索引和位置索引切片操作的区别:
# 标签索引切片包括结束位置,位置索引切片不包括结束位置。
# (3)先将标签索引"N"的值修改为11,再将所有值为6的数据,其值修改为16。
ds.loc['N'] = 11
ds[ds==6] = 16
print(ds)
# (4)将标签索引"A"到"D"四个大写字母,修改成对应的"a"到"d"四个小写字母。
ds.index = ['a','b','c','d','E','F','G','H','I','J','K','L','M','N','O']
print(ds)
# (5)对ds对象按标签索引降序排列,对排列的结果先输出前5个数据值,再输出后3个数据值。
ds = ds.sort_index(ascending=False)
print(ds.head(5))
print(ds.tail(3))
# (6)对ds对象按数据值升序排列,对排列的结果循环依次输出其值最大的前5个数据。
ds = ds.sort_values()
for i, x in enumerate(ds.iloc[-5:].values):
print("第{}大的数是{}".format(i+1,x))
# (7)删除ds对象的标签索引,重新建立新的位置索引
ds = ds.reset_index(drop=True)
print(ds)
# (8)对ds对象的数据值进行计数统计,并输出出现次数最多的那个值及次数。
counts = ds.value_counts()
print("出现次数最多的数是{},共出现了{}次".format(counts.index[0], counts.iloc[0]))
```
输出结果如下:
```
13
A 16
B 2
C 3
D 4
dtype: int32
13
J 10
K 11
L 12
M 16
N 11
dtype: int32
a 1
b 2
c 3
d 4
E 16
F 16
G 6
H 7
I 8
J 9
K 11
L 12
M 16
N 11
O 14
dtype: int32
O 14
M 16
L 12
K 11
J 9
dtype: int32
第1大的数是12
第2大的数是14
第3大的数是16
第4大的数是16
第5大的数是16
0 1
1 2
2 3
3 4
4 16
5 16
6 6
7 7
8 8
9 9
10 11
11 12
12 16
13 11
14 14
dtype: int32
出现次数最多的数是16,共出现了3次
```
阅读全文