pandas数据分析读书笔记(四)

Pd.merge(left = df1, right = df2, on = ‘key’, left_on = ‘lkey’, right_on = ‘rkey’, how = ‘inner’, suffixes = [‘_left’, ’_right’], left_index = True, right_index = True),将两个df连起来,就是把列加起来,on参数是指定列进行连接,还可以根据多列进行连接,如果两个df的列名不同,那也可以分别进行指定。How代表连接的方式,有inner、outer、left、right,分别代表内连接,外连接,左外连接,右外连接。Suffixes是用来处理重复列名的问题,left_index将左侧的行索引用作其连接键,right_index用右边的索引作为连接键,还可以混合用,左边用索引,右边用列

 

Left2.join(right2, how = ‘outer’, on = ‘key’),按索引进行合并,左边是索引,右边是索引,还可以指定右边的列

 

Pd.concat([s1, s2], axis = 0, join = ‘outer’, join_axes = [‘a’, ‘c’, ‘b’], ignore_index, keys = [‘one’, ‘two’, ‘three’]),s1和s2是两个DataFrame或者Series,是从行的角度进行叠加的,相当于砖头一样一块一块叠加起来,还可以将axis = 1,则是从列方向进行叠加,join参数是指合并的方式,inner是交易,outer是并集(默认是并集),还可以用join_axes指定叠加的列,ignore_index参数是将两个合并的DataFrame的行索引给删掉,生成新的从0开始是索引,keys是用来生成层次化索引

 

Np.where(pd.isnull(a), b, a),类似于if else

 

Df.stack(),将数据的列旋转为行

Df.unstack(),将数据的行旋转为列,默认是将最内层旋转为列,当然也可以传入层级的编号或者名称,如果是多层索引的话,那旋转的行将会成为最低层级的列

 

Fig. = plt.figure()

Ax1 = fig.add_subplots(2, ,2, 1)

Ax1.hist(np.random.randn(100), bins = 20, color = ‘k’, alpha = 0.5)

以上是先创建一个figure对象,然后在这个fig对象上创建多个subplot,然后在这个ax上画图。

 

还有种另外的方法,能够同时创建一个figure,以及返回一些subplot对象numpy数据,比如:

Fig, axes = plt.subplots(2, 3),返回figure对象,以及一个2 * 3的numpy数组,可以通过这么调用:axes[0, 1]

 

Ax[0, 1].plot(x, y, ‘g--’),g是颜色green,--是线型,表示虚线

Ax[0, 1].set_xticks([0, 250, 500, 750, 1000])用来画刻度

Ax[0, 1].set_xticklabels([‘one’, ‘two’, ‘three’, ‘four’, ‘five’], rotation = 30),这个函数是给刻度加上标签

ax[0, 1].legend(loc = ‘best’),添加图例,best指自动去设置位置,举个例子,下面这个就是图例:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章