暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python基础学习11【三个实训(鸢尾花、餐饮、公司股价)(完)】

原创 Twilight 2023-06-28
265

实训一:(鸢尾花)【数据集文末分享】


将列petal_length的第十到十九行设置为缺失值

没有设置前

#将列petal_length的第十到十九行设置为缺失值iris.iloc[9:19,2]=None#iloc前闭后开

#删除列classiris.drop('class',axis=1,inplace=True)#默认为0,0:纵向。class横向排布,axis=1

#删除有缺失值的行iris.dropna(inplace=True)#如果不设置inplace,在原表就不会显示

#重新设置索引iris.reset_index(inplace=True,drop=True)print(iris)


实训二(餐饮)

chipo.shape#查看多少列和行chipo.shape[1]#查看多少个列chipo.columns#打印全部列名称chipo.index#查看数据集的索引是怎么样的

chipo.groupby(by='item_name').agg({'quantity':'sum'})#分组聚合chipo.groupby(by='item_name').agg({'quantity':'sum'}).max()#找出最大的求和数chipo.groupby(by='item_name').agg({'quantity':'sum'}).idxmax()#根据索引找

#在item_name这一列中,一共有多少种商品别下单?(去重+求和)chipo['item_name'].unique()#去重chipo['item_name'].nunique()#看去重个数chipo['quantity'].sum()#查看被下单的商品

#将item_price转换为浮点数chipo['item_price']#查看该数据string = '$2.39 'float(string[1:])#对一个元素可以这样处理chipo['item_price'].str[1:].astype(float)#对所有的数据

#在该数据集对应的时期内,收入(revenue)是多少?(数量*价格)chipo['revenue']=chipo['quantity'] * chipo['item_price']#对应元素相乘chipo['revenue'].sum()

#在该数据集对应的时期内,一共有多少订单?chipo['order_id'].unique()#去重chipo['order_id'].nunique()#计算去重数

#平均客单价是多少?chipo['revenue'].sum()/chipo['order_id'].nunique()#法一:利用总收入除以总订单数chipo.groupby('order_id').agg({'revenue':'sum'}).mean()#法二:groupby('分组依据'),对revenue聚合,求和;mean()求均值


实训三(公司股价)

#获取数据并将文件名改为appleimport pandas as pdapple = pd.read_csv('./625chipo_applestock/Apple_stock.csv')#查看每一列的数据类型apple.dtypes

#将data这个列转换为datatime类型apple['Date'] = pd.to_datetime(apple['Date'])

#将Data设置为索引apple.set_index('Date',inplace=True)

#有重复的数据吗?apple.shape[0]#查看数据据有多少行apple.index.nunique()#对索引去重过后求和看看有没有重复的

#将index设置为升序apple.sort_index(ascending=True,inplace=True)#从小到大

#找到每个月最后一个交易日(按年分开,再按月分开)apple.groupby([apple.index.year,apple.index.month]).agg({'Open':lambda x:x.index.day.max()})#划分依据需要年和月

#数据集中最早和最晚的日期相差多少天?apple.index.max()-apple.index.min()

#在数据中一共有多少个月?apple.groupby([apple.index.year,apple.index.month]).agg({'Open':lambda x:x.index.day.max()}).shape[0]

#按照时间顺序可视化Adj Close值import matplotlib.pyplot as pltplt.plot(apple.index,apple['Adj Close'])plt.show()


这里运行不报错,但是图形一直显示未响应,解决办法:【和环境中的某些包冲突了】

plt.show(block=True)


资料分享栏目

pandas_exercise_3:

链接:https://pan.baidu.com/s/1SnKwK4eqyHbEakzeH-1Piw

提取码:s02i

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论