【月度总结】数据库&Python&Excel_202206

Excel

1、将表格变为超级表

实现方法:Ctrl+T
功能:当有新的数据时,数据图形得到及时更新

2、创建透视表

Alt + D +P

3、动态图表

4、index函数

语法:index(reference,row_now,column_num,area_num)
参数:
reference:必需,对一个或多个单元格的引用。
row_num:引用中某行的行号,函数从该行返回一个引用。
column_num:可选,引用中某列的列标,,函数从该列返回一个引用。
area_num:可选,选择一个引用区域,从该区域中返回row_num和column_num的交集
5、“相差天数”后面输入:=DATEDIF(C5,C6,"D"),
注意:其中,C5为开始日期,C6为结束日期,D则为计算日差。

数据库

1、可以向数据库表中,指定的列添加数据

insert into sku_data (sku,cw_type) values (%s,%s)

Python

1、利用python 对分组排序:

按照旺旺号,订单号,金额进行分组,并按付款时间进行排序
data1['ranks'] = data.groupby(['旺旺号','订单号','商品金额'])['付款时间'].rank().astype(int)

2、利用Python构建双层索引,并将双层变成一层。

data2 = pd.pivot_table(data1,values = ['商品金额'],index = ['旺旺号','付款时间'],columns =['ranks'])
data2.columns.tolist()
#对列名重命名
data2.columns =[str(s1) +"第"+str(s2)+"次" for (s1,s2) in data2.columns.tolist()]
data2.reset_index(inplace =True)  #重置索引,然后拉平索引

3、分布密度图,可视化制图方法:sns.distplot()

辅助线制图方法:plt.axvline()

4、 将占比转为把百分比的形式

bk_std_fsl['订单占比'] = bk_std_fsl['订单数'].apply(lambda x: '%.2f%%' % (x / bk_std_fsl['订单数'].sum() * 100))

5、去掉缺失值

data.dropna(inplace = True)   # 去掉缺失值

6、python pandas去掉重复项

删除所有重复项:
df.drop_duplicates(inplace = True)
Remember:  (inplace = True) 将确保该方法不会返回一个新的DataFrame,但是它将从原始DataFrame中删除所有重复。

7、将多种类型数据进行替换

例如将DataFrame中的空值,某些字符串等全都替换成0
replace([na.nan,'无数据','无数'],0,inplace = True)

8、转置

data.T

9、numpy.concatenate()方法

      numpy提供了numpy.concatenate((a1,a2,a3,……),axis =0),能够一次完成多个数组的拼接,其中a1,a2,a3是数组类型的参数。
a = np.array([2,3,4])
b = np.array([11,22,22])
c = np.array([55,88,99])
np.concatenate((a,b,c),axis =0)  #默认情况下,axis=0可以不写
    array([  2,  3, 4,11, 22, 22, 55, 88,99]) #对于一维数组拼接,axis的值不影响最后的结果。
例如:
angle= np.linspace(0,2*np.pi,4,endpoint=False)  # 设置每个数据点的显示位置
angle = np.concatenate((angle,[angle[0]]))

10、pd.cut()参数

pd.cut( x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False,duplicates='raise' )
  • x : 一维数组
  • bins :整数,标量序列或者间隔索引,是进行分组的依据,
        如果填入整数n,则表示将x中的数值分成等宽的n份(即每一组内的最大值与最小值之差约相等);
        如果是标量序列,序列中的数值表示用来分档的分界值
        如果是间隔索引,“ bins”的间隔索引必须不重叠
  • right :布尔值,默认为True表示包含最右侧的数值
        当“ right = True”(默认值)时,则“ bins”=[1、2、3、4]表示(1,2],(2,3],(3,4]
        当bins是一个间隔索引时,该参数被忽略。
  • labels : 数组或布尔值,可选.指定分箱的标签
        如果是数组,长度要与分箱个数一致,比如“ bins”=[1、2、3、4]表示(1,2],(2,3],(3,4]一共3个区间,则labels的长度也就是标签的个数也要是3
        如果为False,则仅返回分箱的整数指示符,即x中的数据在第几个箱子里
        当bins是间隔索引时,将忽略此参数
  • retbins: 是否显示分箱的分界值。默认为False,当bins取整数时可以设置retbins=True以显示分界值,得到划分后的区间
  • precision:整数,默认3,存储和显示分箱标签的精度。
  • include_lowest:布尔值,表示区间的左边是开还是闭,默认为false,也就是不包含区间左边。
  • duplicates:如果分箱临界值不唯一,则引发ValueError或丢弃非唯一

11、matplotlib.pyplot.axvline()

参数:
x: 数据坐标中的x位置以放置垂直线
ymin: y轴上的垂直线起始位置,它将取0到1之间的值,0是轴的底部,1是轴的顶部
ymax: y轴上的垂直线结束位置,它将取0到1之间的值,0是轴的底部,1是轴的顶部
**kwargs: 其他可选参数可更改线的属性,例如
改变颜色,线宽等

12、设置网格线

以下实例添加一个简单的网格线,并设置网格线的样式,格式如下:
grid(color ='color', linestyle ='linestyle', linewidth = number)参数说明:
    color:'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色,'#008000' RGB 颜色符串。
    linestyle:'' 实线,'' 破折线,'.' 点划线,':' 虚线。
    linewidth:设置线的宽度,可以设置一个数字。

13、matplotlib面积堆叠图

data.plot.area(colormap='',figsize =(x,y))
colormap表示要用的颜色块

14、matplotlib 雷达图

  •  绘制雷达图,需要先建立极坐标;
  • 建好极坐标以后,可以在极坐标系中绘制柱状图,折线图等,大部分情况都是用折线图,形成一个不规则的闭合多边形。
绘制多个点,并且第一个点与最后一个点相同,使其成为闭合图形。
plt.polar(弧度,半径,"ro",lw)    #使用的是弧度制,使用弧度来表示度数;ro中r表示红色,o表示形状;lw表示点的大小
例如:
360度,表示2Π(2*np.pi);180度表示Π(np.pi)
plt.polar(0.25*np.pi,20,)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值