2019-04-18 Python查漏补缺

初始设置显示中文

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()

你可能感兴趣的:(2019-04-18 Python查漏补缺)