初始设置显示中文
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示符号
查看原始数据有无重复值
df.duplicated().value_counts()
agg函数
pandas引入了agg函数,它提供基于列的聚合操作。而groupby可以看做是基于行,或者说index的聚合操作。
df.groupby('User_ID').agg({'User_ID':'count','Purchase','sum'}).rename(columns={'User_ID': 'User_count', 'Purchase': 'Purchase_amount'})
绘制饼状图
plt.pie(x,#数据
explode=(a,b,c),#分割板块
labels=None,#不同板块标签
colors=None,#不同板块颜色
labeldistance=1.1,#label text的距离,1.1指1.1倍半径距离
autopct=‘%3.1f%%’,#显示百分比
pctdistance=#百分比text距圆心距离
)
blackfriday中饼状图代码举例:
import pylab
%pylab inline
pylab.rcParams['figure.figsize'] = (8,8)
fig,axes = plt.subplots(2,2)
axes0,axes1,axes2,axes3 = axes.flatten()
axes0.pie(blackfri_gender['order_count'],
explode=(0.1,0),
autopct='%3.1f%%',
labels=['Female','Male'],
startangle=90)
axes0.set_title('男女订单量占比')
依据两个变量对数据分组
df.groupby(['variable1', 'variable2'])
合并两个字段对数据定义一个新的分类
df['A_B']=df[['A','B']].apply(lambda x: str(x[0])+'_'+str(x[1]), axis=1)
用seaborn绘制柱形图
import seaborn as sns
sns.barplot(x='A', y='B', hue='C', data=df)
plt.tilte('XXXX')
对某列数排序,sort_values
df.sort_values('A',ascending=False, inplace=True)
不同职业人数比率柱状图,sort_values, sns.barplot
sns.barplot(x='Occupation',y='User_rate',color='b',
order = blackfri_occupation.sort_values('User_rate',ascending=False).Occupation,
data=blackfri_occupation)
plt.title('不同职业消费人数比率柱状图')
绘制水平柱形图
df.sort_values('A')['B'].plot.barh()