本文为大家分享了python的concat等多种用法,供大家参考,具体内容如下
1、numpy中的concatenate()函数:
> a = np.array([[1, 2], [3, 4]]) > b = np.array([[5, 6]]) > np.concatenate((a, b), axis=0) array([[1, 2], [3, 4], [5, 6]]) > np.concatenate((a, b.T), axis=1) array([[1, 2, 5], [3, 4, 6]])
2、pandas中的merge,concat,join
# In[]:数据的合并 # 1 ,merge,类似数据库中的 # (1)内连接,pd.merge(a1, a2, on='key') # (2)左连接,pd.merge(a1, a2, on='key', how='left') # (3)右连接,pd.merge(a1, a2, on='key', how='right') # (4)外连接, pd.merge(a1, a2, on='key', how='outer') data1 = pd.DataFrame( np.arange(0,16).reshape(4,4), columns=list('abcd') ) data1 data2 = [ [4,1,5,7], [6,5,7,1], [9,9,123,129], [16,16,32,1] ] data2 = pd.DataFrame(data2,columns = ['a','b','c','d']) data2 # 内连接 ,交集 pd.merge(data1,data2,on=['b']) # 左连接 注意:如果 on 有两个条件,on = ['a','b'] # how = 'left','right','outer' pd.merge(data1,data2,on='b',how='left') # 2,append,相当于R中的rbind # ignore_index = True:这个时候 表示index重新记性排列,而且这种方法是复制一个样本 data1.append(data2,ignore_index = True) # 3,join data2.columns=list('pown') # 列名不能重叠:在这里的用法和R中rbind很像,但是join的用法还是相对麻烦的 result = data1.join(data2) result # 4,concat 这个方法能够实现上面所有的方法的效果 # concat函数是pandas底下的方法,可以把数据根据不同的轴进行简单的融合 # pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, # keys=None, levels=None, names=None, verify_integrity=False) # 参数说明: # objs:series,dataframe,或者panel构成的序列list # axis:0 行,1列 # join:inner,outer # a,相同字段表首尾巴相接 data1.columns = list('abcd') data2.columns =list('abcd') data3 = data2 # 为了更好的查看连接后的数据来源,添加一个keys更好查看 pd.concat([data1,data2,data3],keys=['data1','data2','data3']) # b ,列合并(也就是行对齐):axis = 1, pd.concat([data1,data2,data3],axis = 1,keys = ['data1','data2','data3']) data4 = data3[['a','b','c']] # 在有些数据不存在的时候,会自动填充NAN pd.concat([data1,data4]) # c:join:inner 交集,outer ,并集 pd.concat([data1,data4],join='inner') # 在列名没有一个相同的时候会报错 # data4.index = list('mnp') # pd.concat([data1,data4])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,concat
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“python的concat等多种用法详解”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。