python作业08

  1. 1
  2. 2
  3. 3
  4. 4

1

求取指定函数极值

分析:minimize_scalar()可以返回函数的极大值和极小值

1
2
3
4
5
6
import math

from scipy.optimize import minimize_scalar
def fun(x):
return -math.sin(2*(x-2))*pow(math.e,-pow(x,2))
print(minimize_scalar(fun))

image-20231122162844289

2

用Numpy求取鸢尾花数据的统计值;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import numpy as np
import pandas as pd
data=pd.read_csv("iris_sepal_length.csv",header=None)
list=data.values.tolist()
list=np.sort(list,0)
list=np.unique(list)
print(list)
print(np.sum(list))
print(np.cumsum(list))
print(np.mean(list))
print(np.std(list))
print(np.var(list))
print(np.amin(list))
print(np.amax(list))

image-20231122163028086

3

对右侧所示的两个字典完成以下操作:

1、合并两个数据框,并处理缺失值。

2、填充缺失值。

3、计算总分列,并创建一个最终的数据框。

4、删除多余的列,并对列进行重命名。 提示: 可以使用outer join处理缺失值,使用fillna填充缺失值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import pandas as pd
# 创建第一个数据框
data1 = {
'ID': [1, 2, 3, 4],
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Score': [85, 90, 78, 92] }
df1 = pd.DataFrame(data1)
# 创建第二个数据框,其中包含缺失值
data2 = {
'ID': [2, 3, 5, 6],
'Name': ['Bob', 'Charlie', 'Eva', 'Frank'],
'Score': [90, 78, 88, 76] }
df2 = pd.DataFrame(data2)
df3=pd.merge(df1,df2,how='outer').set_index('ID')
print(df3)

image-20231122163157728

4

右侧是某航班的的乘客数据 1.分析年度乘客总量变化情况(折线图) 2.分析乘客在一年中各月份的分布(柱状图)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import numpy
import scipy
import matplotlib.pyplot as plt
import pandas as pd
data1={
'year':[1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960],
'passengers':[ 1520,1676,2042,2364,2700,2867,3408,3939,4421,4572,5140,5714]
}
data2={
'month':['January','February','March','April','May','June','July','August','September','October','November','December'],
'passengers':[2901,2820,3242,3205,3262,3740,4216,4213,3629,3199,2794,3142]
}
dp1=pd.DataFrame(data1).set_index('year')
dp2=pd.DataFrame(data2).set_index('month')

dp1.plot.line()
dp2.plot.barh()
plt.show()

image-20231122165417594

image-20231122165430139


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论