记录一下做的练习题
目录
1)自定义一个 Series 并命名为 s1,自定义索引值,采用随机数作为其中数据尝试使用 s1.sum(计算其中所有数据的和,使用 s.mean(计算其中所有数据的平均值。
3)对 df1 中的数据进行过滤,删除"B"列中不大于 70 的元素所在的行。
- import numpy as np
- import pandas as pd
- #(1)
- data = np.random.RandomState(16).randint(0,100,16)
- index = range(1,17)
- s1 = pd.Series(data=data,index=index)
- print(s1)
- print(s1.sum())
- print(s1.mean())

- #(2)
- data1 = np.random.RandomState(16).randint(0,100,24)
- df1 = pd.DataFrame(data=data1.reshape(4,6),index=["a","b","c","d"],columns=["A","B","C","D","E","F"])
- print(df1)

- #(3)
- df2 = df1.drop([i for i in df1[df1.B <= 70].index],axis=0)
- print(df2)

- #(4)
- list_1 = []
- for lie in df1.columns:
- list_1.append(df1.loc[:,lie].mean())
- print(list_1)
-
- #(5)
- list_2 = []
- for hang in df1.index:
- list_2.append(df1.loc[hang].sum())
- print(list_2)

- #(6)
- def df_extend(df1):
- sum_lie = 0
- for lie in df1.columns:
- sum_lie = sum_lie + df1.loc[:,lie].sum()
- df1.insert(loc=0,column="SUM",value=sum_lie)
-
- mean_hang = 0
- for hang in df1.index:
- mean_hang = mean_hang + df1.loc[hang].mean()
- df1.loc[4] = mean_hang
- print(df1)
-
- df_extend(df1)

- #(7)
- def max_three(df1):
- list_value = []
- list_position = []
- for lie in df1.columns:
- for hang in df1.index:
- list_value.append(df1[lie][hang])
- list_position.append((hang,lie))
- dic = {k:v for k, v in zip(list_position, list_value)}
-
- list_value.sort(reverse=True)
- position_keys = [key for key, value in dic.items() if value in list_value[:3]]
- if len(position_keys) >= 3:
- position_keys = position_keys[:3]
- print(position_keys)
-
- max_three(df1)
