大家晓得在 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
本文由 WeiXin 公众号【python 集中营】一键公布,更多精彩文章、视频材料即可支付!