题目:
1. 创建一个空向量
2. 输入任意数组,计算其内存大小
3. 创建一个值在10到49之间的矢量
4. 创建一个值从0到8的3x3矩阵
5. 自定义一个 Series 并命名为 s1,自定义索引值,采用随机数作为其中数据尝试使用,s1.sum计算其中所有数据的和,使用 s.mean计算其中所有数据的平均值
6. 创建一个形状为4*6的 DataFrame 并命名为 df1,并指定行索引为[“a”,“b”,“c”,"d"]、列索引为[“A",“B”,“C”,“D”,“E”,“F”],元素的取值为 1-100 之间的随机数
参考Answer:
import numpy as np
import pandas as pd
# 创建空向量
demo = np.zeros(10)
# 设置第5个元素为1
demo[4] = 1
print(demo)
# 输入是一个任意数组,输出其内存大小
demo2 = np.array([1, 2, 3, 4, 5])
print("%d bytes" % (demo2.size * demo2.itemsize))
# 创建一个值在10到49之间的矢量
demo3 = np.arange(10, 50)
# 反转 50-10
demo4 = demo3[::-1]
print(demo4)
# 创建一个值从0到8的3x3矩阵
demo5 = np.arange(0, 9).reshape(3, 3)
print(demo5)
# 自定义一个 Series 并命名为 s1,
# 自定义索引值,采用随机数作为其中数据尝试使用
# s1.sum计算其中所有数据的和,使用 s.mean计算其中所有数据的平均值
s1 = pd.Series(np.random.rand(5), index=['a', 'b', 'c', 'd', 'e'])
# 输出Series
# print(s1)
# 计算Series的和
print("和:", s1.sum())
# 计算Series的平均值
print("平均值:", s1.mean())
# 创建一个形状为4*6的 DataFrame 并命名为 df1
# 并指定行索引为[“a”,“b”,“c”,"d"]、列索引为[“A",“B”,“C”,“D”,“E”,“F”]
# 元素的取值为 1-100 之间的随机数
df1 = pd.DataFrame(np.random.randint(1, 100, size=(4, 6)),
index=['a', 'b', 'c', 'd'], columns=['A', 'B', 'C', 'D', 'E', 'F'])
# 输出
print(df1)
# 输出各列的和(不是列表的形式)
print(df1.sum()) # 若加上values是输出各列总的和
# 输出各列的平均值
print(df1.mean()) # 同样道理
data1 = np.random.randint(0,100,size=(4,6))
df1 = pd.DataFrame(data=data1,index=["a","b","c","d"],columns=["A","B","C","D","E","F"])
# 各列元素平均值(以列表的形式)
list_1 = []
for lie in df1.columns:
list_1.append(df1.loc[:, lie].mean())
print(list_1)
# 各行元素和
list_2 = []
for hang in df1.index:
list_2.append(df1.loc[hang].sum())
print(list_2)
# 输出结果
# [47.5, 55.0, 36.0, 42.5, 57.25, 36.75]
# [271, 178, 297, 354]