我们紧接上回操作,继续来对Pandas的基本操作进行梳理。
- 数据切分
df1=df.loc[:399,:]
df2=df.loc[400:,:]
# 按行标签切分
df3=df.iloc[:,:6]
df4=df.iloc[:,6:]
# 按列位置切分
- 数据合并
# 按照切片的不同维度将数据合并,下面三行代码都能获得原数据
df_new=df1.append(df2)
df_new1=pd.concat([df1,df2],axis=0)
df_new2=pd.concat([df3,df4],axis=1)
- 分组
# 把宝可梦按Generation分组
df.groupby(['Generation']).count()
# 统计每一代的数目
df.groupby(['Generation']).mean()
# 查看每一代的数据均值
代码语言:javascript复制# 把宝可梦按Generation分组,并统计Speed的和以及均值
df.groupby('Generation')['Speed'].agg([np.sum,np.mean])
代码语言:javascript复制# 按多个属性分组并统计数目
df.groupby(['Generation','Type1','Legendary']).count()
# 把宝可梦按Legendary分组,并选择Legendary为真的组
df.groupby(['Legendary']).get_group(True)
- apply
# 通过匿名函数将所有数据HP值增加1
df['HP']=df['HP'].apply(lambda x:x 1)
- 图片绘制(默认为折线,可以选择柱状图、密度图等)
df['Attack'][:10].plot(color='red')
df['Defense'][:10].plot(color='blue')
- 绘制箱线图
# 箱线图可以用于离群点的观察测
df.boxplot()
- One-Hot编码
# 把Type1这一列改成One-Hot编码
# 如果某行数据Type1为Bug,那么在Type1_Bug列下为1,在其余列均为0
dummy_df=pd.get_dummies(df['Type1'],prefix='Type1')
- 参考资料
Pandas官方文档
对于Pandas的基本操作我们就总结到这里,这个数据集还可以用来做机器学习,把宝可梦的类型作为标签来预测,或是把是否是神兽作为标签来做二分类等等,我们下回见。
代码语言:javascript复制——END——