700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 信号完整性分析大作业_Matplotlib数据可视化 amp; Pandas数据分析 综合实训大作业...

信号完整性分析大作业_Matplotlib数据可视化 amp; Pandas数据分析 综合实训大作业...

时间:2019-01-31 04:18:42

相关推荐

信号完整性分析大作业_Matplotlib数据可视化 amp; Pandas数据分析 综合实训大作业...

csv文件链接

链接:/s/1-Q9riIfwTWN1AdV2Fb0eVw

提取码:7stb

1.1设置中文以及负数的编码方式,使得其能够正常显示;

# read

1.2将《tips.csv》文件中的内容进行读取,并赋值给变量tips;

tips = pd.read_csv('d:/tips.csv', encoding='UTF-8')unicode_minus = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串print("1.2题:n", tips)

1.3输出tips数据的前五行;

df1 = pd.read_csv('d:/tips.csv', encoding='UTF-8', nrows=5)print("1.3题:n", df1)

1.4将tips的Unnamed: 0列删除;

print("1.4题:n")df = pd.read_csv('d:/tips.csv', encoding='UTF-8')del df['Unnamed: 0']print('Unnamed:0列删除后:n', df)

1.5输出tips的索引为0,2,3的行;

print("1.5题:n", tips.iloc[[0, 2, 3]])

1.6输出tips数据列的统计信息的摘要;

print("1.6题:n")df = pd.DataFrame(tips)print('describe=n',df.describe())

1.7将tips同时按照day、time列进行分组,并输出所有同时包含'Thur','Dinner'的信息;

print("1.7题:n", tips.groupby(['day', 'time']).get_group(('Thur', 'Dinner')))

1.8将tips按照sex进行分组,并使用agg聚合同时求出每个数值列的标准差与平均值,并输出;

print("1.8题:n", tips.groupby('sex').agg([np.mean, np.std]))

1.9建立透视表,其中以total_bill为数值区域,time为行标,day为列标,显示统计行与列,统计行与列的标签为“合计”,且出现缺失值由0代替,最终输出;

print("1.9题:n", tips.pivot_table(values='total_bill', index='time', columns='day', margins=True, margins_name='合计', fill_value=0))

1.10此数据仅有一个缺失值,即行为2列为tip的数据,使用线性插值法根据total_bill与tip列数据的关系求出该位置的值,并用此值替换tips的原缺失值,并输出新的tips的前五行

print("1.10题:n")total_bill = [16.99, 10.34, 23.68, 24.29, 25.29, 8.77, 26.88]tip=[1.01, 1.66, 3.31, 3.61, 4.71, 2, 3.12]linear = interpolate.interp1d(total_bill,tip,kind='linear')plt.plot(linear([16.99, 10.34, 21.01, 23.68, 24.59, 25.29, 8.77, 26.88]), '-.')print(linear(21.01))plt.show()tips = df.fillna(linear(21.01))# 将求出值插入后的新tipsdf = pd.DataFrame(tips)print(df.iloc[[0, 1, 2, 3, 4]])

1.11通过等宽法将'total_bill'列的数据离散化成5部分,并输出数据分布在此5部分的计数结果(即每部分分布了多少个数据)

print("1.11题:n")s = np.random.rand(20)cuts = pd.cut(s, 4)# print(cuts)print(cuts.codes)print(pd.value_counts(cuts))

1.12建立两行两列的子图,在第一张图中画数据为tips的'total_bill'列的直方图,并且显示x轴标签为"区间"、y轴标签为"频数/频率",子图标签为"Total bill"

print("1.12题:n")plt.subplot(2, 2, 1)data = tips['total_bill']plt.hist(data, facecolor="blue", edgecolor="black", alpha=0.7)plt.xlabel("区间", fontproperties='SimHei')plt.ylabel("频数/频率", fontproperties='SimHei')plt.title("子图1.Total bill", fontproperties='SimHei')# plt.show()

1.13在第二张子图中画x轴数据为tips的'total_bill'列,y轴数据为'tip',图形颜色为绿色的散点图,并且显示x轴标签为" total_bill"、y轴标签为" tip",子图标签为" Total bill--tip"

print("1.13题:n")plt.subplot(2, 2, 2)x = tips['total_bill']y = tips['tip']plt.rcParams['font.sans-serif'] = ['SimHei']#黑体字体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串plt.scatter(x, y, c='green')plt.xlabel("total_bill")plt.ylabel("tip")plt.title("子图2.Total bill--tip")# plt.show()

1.14在第三张子图中画x轴数据为time列= 'Dinner'的所有'size'数据,y轴数据为time列= 'Dinner'的所有'total_bill'数据,图形颜色为红色的散点图,并且显示x轴标签为" size"、y轴标签为"total_bill",子图标签为" Size--total_bill"

print("1.14题:n")plt.subplot(2, 2, 3)plt.rcParams['font.sans-serif'] = ['SimHei']#黑体字体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串groups = df.groupby(['time']).get_group(('Dinner'))x = groups['size']groups = df.groupby(['time']).get_group(('Dinner'))y = groups['total_bill']plt.scatter(x, y, c='red')plt.xlabel("size")plt.ylabel("total_bill")plt.title("子图3.Size--total_bill")# plt.show()

1.15在第四张子图中画饼图,数据分为四部分,分别为‘male’在'Fri','Sat','Sun','Thur'四种情况下的'total_bill'的总和,并为四部分数据分别加上标签'Fri','Sat','Sun','Thur'。

print("1.15题:n")plt.subplot(2, 2, 4)plt.rcParams['font.sans-serif'] = ['SimHei'] # 黑体字体plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串groups1 = df.groupby(['sex']).get_group(('Male'))groups01 = (groups1['total_bill']).groupby(tips['day'])x = groups01.sum()labels = ['Fri', 'Sat', 'Sun', 'Thur']plt.pie(x, labels=labels, autopct='%.1f%%')plt.title("子图4.")plt.show()

运行结果截图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。