Pandas concat 函数
pandas.concat()
方法可以连接 Pandas DataFrame 或 Series 对象。
pandas.concat()
语法
pandas.concat(objs,
axis=0,
join='outer',
ignore_index=False,
keys=None,
levels=None,
names=None,
verify_integrity=False,
sort=False,
copy=True)
参数
objs |
要连接的 Pandas Series 或 DataFrame 对象的序列或映射。 |
join |
连接方法(inner 或 outer ) |
axis |
沿着行(axis=0 )或列(axis=1 )进行连接 |
ignore_index |
布尔型。如果为 True ,则忽略原 DataFrames 的索引。 |
keys |
向结果索引添加标识符的顺序 |
levels |
用于创建 MultiIndex 的级别 |
names |
多重索引中的级别名称 |
verify_integrity |
布尔型。如果为 True ,则检查是否有重复。 |
sort |
布尔型。当 join 为 outer 时,如果非 concatenation 轴尚未对齐,则对其进行排序。 |
copy |
布尔型。如果为 False ,避免不必要的数据复制。 |
返回值
如果所有的 Series
对象都沿 axis=0
连接,则返回一个 Series
对象。如果任何要连接的对象是一个 DataFrame
,或者 Series
对象沿 axis=1
连接,它返回一个 DataFrame
对象。
示例:使用 pandas.concat()
方法沿行轴连接 2 个 Pandas Series
import pandas as pd
ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")
ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")
concatenated_ser=pd.concat([ser_1,ser_2])
print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)
输出:
Series-1:
0 20
1 45
2 36
3 45
dtype: int64
Series-2:
0 48
1 46
2 34
3 38
dtype: int64
Result after Concatenation of ser_1 and ser_2:
0 20
1 45
2 36
3 45
0 48
1 46
2 34
3 38
dtype: int64
它沿 axis=0
或按行连接 Series
对象 ser_1
和 ser_2
。其中一个 Series
对象的行堆叠在另一个对象之上。级联后的对象默认取父对象的 index
值。我们可以设置 ignore_index=True
来为连接对象分配新的索引值。
import pandas as pd
ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")
ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")
concatenated_ser=pd.concat([ser_1,ser_2],ignore_index=True)
print("Result after Concatenation of ser_1 and ser_2:")
print(concatenated_ser)
输出:
Series-1:
0 20
1 45
2 36
3 45
dtype: int64
Series-2:
0 48
1 46
2 34
3 38
dtype: int64
Result after Concatenation of ser_1 and ser_2:
0 20
1 45
2 36
3 45
4 48
5 46
6 34
7 38
dtype: int64
它将连接 Series
对象,并为连接后的 Series
对象分配新的索引值。
示例:使用 pandas.concat()
方法沿列轴连接 2 个 Pandas 系列对象
我们在 pandas.concat()
方法中设置 axis=1
,以水平或沿列轴连接 Series
对象。
import pandas as pd
ser_1 = pd.Series([20,45,36,45])
print("Series-1:")
print(ser_1,"\n")
ser_2 = pd.Series([48,46,34,38])
print("Series-2:")
print(ser_2,"\n")
concatenated_ser=pd.concat([ser_1,ser_2],axis=1)
print("Result after Horizontal Concatenation of ser_1 and ser_2:")
print(concatenated_ser)
输出:
Series-1:
0 20
1 45
2 36
3 45
dtype: int64
Series-2:
0 48
1 46
2 34
3 38
dtype: int64
Result after Horizontal Concatenation of ser_1 and ser_2:
0 1
0 20 48
1 45 46
2 36 34
3 45 38
它水平堆叠了 Series
对象 ser_1
和 ser_2
。
示例:使用 pandas.concat()
方法连接 2 个 Pandas DataFrame 对象
import pandas as pd
df_1 = pd.DataFrame({
"Col-1":[1,2,3,4],
"Col-2":[5,6,7,8]
})
print("DataFrame-1:")
print(df_1,"\n")
df_2 = pd.DataFrame({
"Col-1":[10,20,30,40],
"Col-2":[50,60,70,80]
})
print("DataFrame-2:")
print(df_2,"\n")
concatenated_df=pd.concat([df_1,df_2],ignore_index=True)
print("Result after Horizontal Concatenation of df_1 and df_2:")
print(concatenated_df)
输出:
DataFrame-1:
Col-1 Col-2
0 1 5
1 2 6
2 3 7
3 4 8
DataFrame-2:
Col-1 Col-2
0 10 50
1 20 60
2 30 70
3 40 80
Result after Horizontal Concatenation of df_1 and df_2:
Col-1 Col-2
0 1 5
1 2 6
2 3 7
3 4 8
4 10 50
5 20 60
6 30 70
7 40 80
它连接了 DataFrame
对象 df_1
和 df_2
。通过设置 ignore_index=True
,我们将新的索引分配给被连接的 DataFrame。
示例:使用 pandas.concat()
方法将 DataFrame 与一个系列对象进行连接
import pandas as pd
df = pd.DataFrame({
"Col-1":[1,2,3,4],
"Col-2":[5,6,7,8]
})
print("DataFrame Object:")
print(df,"\n")
ser = pd.Series([48,46,34,38])
print("Series Object:")
print(ser,"\n")
ser_df=pd.concat([df,ser],axis=1)
print("Concatenation of ser and df:")
print(ser_df)
输出:
DataFrame Object:
Col-1 Col-2
0 1 5
1 2 6
2 3 7
3 4 8
Series Object:
0 48
1 46
2 34
3 38
dtype: int64
Concatenation of ser and df:
Col-1 Col-2 0
0 1 5 48
1 2 6 46
2 3 7 34
3 4 8 38
它将 DataFrame 对象 df
和 Series
对象 ser
连在一起。由于我们在 pandas.concat()
方法中设置了 axis=1
,所以连接是按列进行的。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中创建对象
发布时间:2023/05/04 浏览次数:59 分类:Python
-
本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。