python – 有效地组合多个熊猫系列
发布时间:2020-12-20 12:03:29 所属栏目:Python 来源:网络整理
导读:我知道我可以使用combine_first合并两个系列: series1 = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])series2 = pd.Series([1,index=['f','g','h','i','j'])series3 = pd.Series([1,index=['k','l','m','n','o'])Combine1 = series1.combine_first(
我知道我可以使用combine_first合并两个系列:
series1 = pd.Series([1,2,3,4,5],index=['a','b','c','d','e']) series2 = pd.Series([1,index=['f','g','h','i','j']) series3 = pd.Series([1,index=['k','l','m','n','o']) Combine1 = series1.combine_first(series2) print(Combine1 输出: a 1.0 b 2.0 c 3.0 d 4.0 e 5.0 f 1.0 g 2.0 h 3.0 i 4.0 j 5.0 dtype: float64 如果我需要合并3个或更多系列怎么办? 我理解使用以下代码:print(series1 series2 series3)产生: a NaN b NaN c NaN d NaN e NaN f NaN ... dtype: float64 如果不多次使用combine_first,我可以有效地合并多个系列吗? 谢谢 解决方法
根据您的编辑,我认为您需要沿第一个轴连接,然后沿同一轴需要一个和.
def combine_multi(ser_list): return pd.concat([series1,series2,series3],1).fillna(0).sum(1) 例A(不同指数) series1 = pd.Series([1,'o']) out = combine_multi([series1,series3]) out a 5.0 b 12.0 c 15.0 d 3.0 e 4.0 g 6.0 h 7.0 i 8.0 j 9.0 k 10.0 m 12.0 o 14.0 dtype: float64 例B(重叠指数) series1 = pd.Series([1,'f']) out = combine_multi([series1,series3]) out a 2.0 b 6.0 c 6.0 d 8.0 e 5.0 f 5.0 i 4.0 j 5.0 k 1.0 m 3.0 dtype: float64 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |