实训一:(鸢尾花)【数据集文末分享】
将列petal_length的第十到十九行设置为缺失值
没有设置前:
#将列petal_length的第十到十九行设置为缺失值
iris.iloc[9:19,2]=None#iloc前闭后开
#删除列class
iris.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()求均值
实训三(公司股价):
#获取数据并将文件名改为apple
import pandas as pd
apple = 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 plt
plt.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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。