数据分析---Day03

01.pandas_hierarchical_indexing

			1/ 创建多层索引(下面有四种,只用显式的product这种就行)
			   1.1 隐式索引:直接在index或者columns中添加list,如下的班级
			   注:Series也一样
				index = [
						    ['一班','一班','一班','二班','二班','二班'],   
						    ['张三','李四','王五','赵六','田七','孙八']
						]
			1.2 显示索引:用pd.MultiIndex,三种方式,使用第三种,其他两种知道就行
						index = pd.MultiIndex.from_arrays( [
							    ['一班','一班','一班','二班','二班','二班'],
							    ['张三','李四','王五','赵六','田七','孙八']
							])

						index = pd.MultiIndex.from_tuples( 
						    (
						        ('一班','张三'),('一班','李四'),('一班','王五'),
						        ('二班','赵六'),('二班','田七'),('二班','孙八')
						    )    
						)
						index = pd.MultiIndex.from_product(
						    [
						        ['一班','二班'],
						        ['张三','李四','王五']
						    ]
						)

2/ 多层列索引的创建
3/ 多层索引对象的索引和切片操作
3.1 Series
   (1)索引:
   					显式:
   							s['一班’,'张三’]
   					隐式:
   							s[3]
   (2)切片:不要用显式
   					隐式:
   							s.iloc[0:5]
3.2 DataFrame
索引:
df.iloc[0,2] 
df.loc[('一班','张三'), ('期中','英语')]

切片:
df.iloc[:, 1:5]  # 使用隐式,不要使用显式
4. stack
		只需记住一条指令: df.stack(level=0)      #将第一层的列索引变成行索引
5.聚合函数
		df.sum(axis=1, level=0)          # sum/mean/max/min
	axis=0: 行,  sum(axis=0)表示各行相加, level表示第一层索引

02 pandas_combine

0. 回顾ndarray的级联
		np.concatenate((n1, n2))

	np.hstack((n1,  n2))
	np.vstack((n1, n2))
  1. pd.concat()
    1.1 简单级联: pd.concat([df1, df2], axis=1, keys=[‘x’, ‘y’])
    1.2 不匹配级联:
    外连接:全部连接,空值用nan
    pd.concat([df1, df2], sort=True,join=‘outer’)
    内连接:只有共同部分
    pd.concat([df1, df2], sort=True,join=‘inner’)
    指定轴连接:(下面例子:用df1的列,让df2去合并)
    pd.concat([df1, df2], sort=True, join_axes=[df1.columns])
    1.3 用append()
    df1.append(df2, sort=True)
  2. pd.merge()
    2.1 一对一合并
    pd.merge(df1, df2)
    2.2 多对一合并
    df1.merge(df2)
    2.3 多对多合并
    df1.merge(df2)
    2.4 key的规范化
    两个df合并时,会出现类似两个df中都有name, age,而key只能有一个,要选择其中一个作为key
    2.5 内合并和外合并
    合并时取交集还是取并集的问题
    2.6 列冲突的解决
    当列冲突时,即有多个列名称相同时,需要使用on来指定哪一个列作为key,配合suffixes指定冲突列名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值