pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!
2021/9/28 13:10:47
本文主要是介绍pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大家知道在pandas的数据框架中,数据格式对象主要有两种,一种是Series,另一种则是比较常见的DataFrame数据对象。pandas.concat()连接函数主要是用于处理这两种对象的数据连接!
函数说明
''' cancat()函数 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True) 参数说明: objs:Series,DataFrame或Panel对象的序列或映射。如果传递了dict,则排序的键将用作键参数,除非它被传递,在这种情况下,将选择值(见下文)。任何无对象将被静默删除,除非它们都是无,在这种情况下将引发一个ValueError。 axis:{0,1,...},默认为0。沿着连接的轴。 join:{'inner','outer'},默认为“outer”。如何处理其他轴上的索引。outer为联合和inner为交集。 ignore_index:boolean,default False。如果为True,请不要使用并置轴上的索引值。结果轴将被标记为0,...,n-1。如果要连接其中并置轴没有有意义的索引信息的对象,这将非常有用。注意,其他轴上的索引值在连接中仍然受到尊重。 join_axes:Index对象列表。用于其他n-1轴的特定索引,而不是执行内部/外部设置逻辑。 keys:序列,默认值无。使用传递的键作为最外层构建层次索引。如果为多索引,应该使用元组。 levels:序列列表,默认值无。用于构建MultiIndex的特定级别(唯一值)。否则,它们将从键推断。 names:list,default无。结果层次索引中的级别的名称。 verify_integrity:boolean,default False。检查新连接的轴是否包含重复项。这相对于实际的数据串联可能是非常昂贵的。 copy:boolean,default True。如果为False,请勿不必要地复制数据。 '''
Series 数据处理
普通合并
# 导入pandas数据处理库 import pandas as pd # 初始化series_1数据对象 series_1 = pd.Series(['a', 'b','c']) # 初始化series_2数据对象 series_2 = pd.Series(['c', 'd']) # 合并series_1、series_2 res = pd.concat([series_1, series_2]) # 打印合并结果 print(res) # 0 a # 1 b # 2 c # 0 c # 1 d
忽略索引合并
# 合并series_1、series_2,忽略索引 res = pd.concat([series_1, series_2],ignore_index=True) # 打印合并结果 print(res) # 0 a # 1 b # 2 c # 3 c # 4 d
添加分层索引合并
# 合并series_1、series_2,忽略索引 res = pd.concat([series_1, series_2],keys=['series_1','series_2']) # 打印合并结果 print(res) # series_1 0 a # 1 b # 2 c # series_2 0 c # 1 d
添加数据列合并
# 合并series_1、series_2,添加数据列名 res = pd.concat([series_1, series_2],keys=['series_1','series_2'],names=['Series ID', 'index']) # 打印合并结果 print(res) # Series ID index # series_1 0 a # 1 b # 2 c # series_2 0 c # 1 d
DataFrame 数据处理
合并两个相同列的DataFrame对象
# 创建DataFrame对象dataframe_1 dataframe_1 = pd.DataFrame([['coding', 'python'], ['type', '1']], columns=['名称', '类型']) # 创建DataFrame对象dataframe_2 dataframe_2 = pd.DataFrame([['coding', 'java'], ['type', '2']], columns=['名称', '类型']) # 合并两个列相同的DataFrame对象dataframe_1、dataframe_2 res = pd.concat([dataframe_1, dataframe_2]) # 打印合并DataFrame对象 print(res) # 名称 类型 # 0 coding python # 1 type 1 # 0 coding java # 1 type 2
合并重叠的DataFrame
# 创建DataFrame对象dataframe_3 dataframe_3 = pd.DataFrame([['coding', 'java','91'], ['type', '2','93']], columns=['名称', '类型','评分']) # 合并两个不相同的DataFrame对象dataframe_1、dataframe_3 # 合并时不存在的列则使用Nan值进行合并 res = pd.concat([dataframe_1, dataframe_3],sort=False) # 打印合并DataFrame对象 print(res) # 名称 类型 评分 # 0 coding python NaN # 1 type 1 NaN # 0 coding java 91 # 1 type 2 93 # join='inner',去除重叠交叉的列 res = pd.concat([dataframe_1, dataframe_3],join='inner') print(res) # 0 coding python # 1 type 1 # 0 coding java # 1 type 2
这篇关于pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-14深入理解 ECMAScript 2024 新特性:Promise.withResolvers
- 2025-01-13SRM vs SCM:企业管理中的差异战略与实践
- 2025-01-12深入理解 ECMAScript 2024 新特性:Map.groupBy() 分组操作
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”