python – Pandas DataFrame合并选择更高的值
发布时间:2020-12-20 12:02:05 所属栏目:Python 来源:网络整理
导读:我有两个这样的DataFrame: 1 2 3 0 61.579 0.000000 47.2798611 0.000 0.000000 0.0000002 62.700 9.180000 48.4798613 56.100 40.180000 71.6798614 73.100 50.930000 71.6798615 88.300 37.930000 36.479861 我需要合并它们每次选择更高的值.所有值都是浮
我有两个这样的DataFrame:
1 2 3 0 61.579 0.000000 47.279861 1 0.000 0.000000 0.000000 2 62.700 9.180000 48.479861 3 56.100 40.180000 71.679861 4 73.100 50.930000 71.679861 5 88.300 37.930000 36.479861 我需要合并它们每次选择更高的值.所有值都是浮点数. 解决方法
首先需要
concat ,然后需要
groupby 和最大聚合:
df1 = pd.DataFrame({0:[4,5,4],1:[7,8,9]}) print (df1) 0 1 0 4 7 1 5 8 2 4 9 df2 = pd.DataFrame({0:[8,6],1:[9,4,4]}) print (df2) 0 1 0 8 9 1 5 4 2 6 4 df = pd.concat([df1,df2]).groupby(level=0).max() print (df) 0 1 0 8 9 1 5 8 2 6 9 如果需要更快的解决方案使用 a = df1.values b = df2.values df = pd.DataFrame(np.where(a > b,a,b),index=df1.index,columns=df1.columns) print (df) 0 1 0 8 9 1 5 8 2 6 9 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |