如何使用Concat联合Pandas DataFrames()

你可以使用Concat联合Pandas DataFrames:

pd.concat([ df1, df2])

你可以通过在括号内添加额外的 DataFrame 来连接它们。
如何联合Pandas DataFrames?在下一节中,你将看到一个示例,其中包含使用 contact 合并 Pandas DataFrames 的步骤。
使用Concat联合Pandas DataFrames的步骤第 1 步:创建第一个 DataFrame
例如,假设你有以下有关客户的数据:
clientFirstNameclientLastNamecountry
JonSmithUS
MariaLamCanada
BruceJonesItaly
LiliChangChina
然后,你可以创建一个 DataFrame来在 Python 中捕获上述数据:
import pandas as pdclients1 = {'clientFirstName': [ 'Jon','Maria','Bruce','Lili'], 'clientLastName': [ 'Smith','Lam','Jones','Chang'], 'country': [ 'US','Canada','Italy','China'] }df1 = pd.DataFrame(clients1, columns= [ 'clientFirstName', 'clientLastName','country'])print (df1)

用 Python 运行代码,你会得到:
如何使用Concat联合Pandas DataFrames()

文章图片
第 2 步:创建第二个 DataFrame
现在假设你获得了有关新客户的附加数据:
clientFirstNameclientLastNamecountry
BillJacksonUK
JackGreenGermany
ElizabethGrossBrazil
JennySingJapan
然后,你可以创建第二个 DataFrame,如下所示:
import pandas as pdclients2 = {'clientFirstName': [ 'Bill','Jack','Elizabeth','Jenny'], 'clientLastName': [ 'Jackson','Green','Gross','Sing'], 'country': [ 'UK','Germany','Brazil','Japan'] }df2 = pd.DataFrame(clients2, columns= [ 'clientFirstName', 'clientLastName','country'])print (df2)

运行代码,你会看到:
如何使用Concat联合Pandas DataFrames()

文章图片
你的目标是联盟这两个DataFrames在一起。然后,你可以使用 Pandas  concat来实现此目标。
第 3 步:使用 Concat 联合 Pandas DataFrame
最后,要将两个 Pandas DataFrame 结合在一起,你可以应用你在本指南开头看到的通用语法:
pd.concat([ df1, df2])

这是使用Concat联合Pandas DataFrames的完整 Python 代码,Concat联合Pandas DataFrames的示例如下:
import pandas as pdclients1 = {'clientFirstName': [ 'Jon','Maria','Bruce','Lili'], 'clientLastName': [ 'Smith','Lam','Jones','Chang'], 'country': [ 'US','Canada','Italy','China'] }df1 = pd.DataFrame(clients1, columns= [ 'clientFirstName', 'clientLastName','country'])clients2 = {'clientFirstName': [ 'Bill','Jack','Elizabeth','Jenny'], 'clientLastName': [ 'Jackson','Green','Gross','Sing'], 'country': [ 'UK','Germany','Brazil','Japan'] }df2 = pd.DataFrame(clients2, columns= [ 'clientFirstName', 'clientLastName','country'])union = pd.concat([ df1, df2]) print (union)

运行代码后,你将获得连接的 DataFrame:
如何使用Concat联合Pandas DataFrames()

文章图片
请注意,索引值不断重复(第一个 DataFrame 从 0 到 3,然后第二个 DataFrame 从 0 到 3):
如何使用Concat联合Pandas DataFrames()

文章图片
一旦你连接了两个数据帧,你就可以选择以增量方式分配索引值。
为此,只需 在pd.concat括号内设置ignore_index=True,Concat联合Pandas DataFrames的示例如下:
import pandas as pdclients1 = {'clientFirstName': [ 'Jon','Maria','Bruce','Lili'], 'clientLastName': [ 'Smith','Lam','Jones','Chang'], 'country': [ 'US','Canada','Italy','China'] }df1 = pd.DataFrame(clients1, columns= [ 'clientFirstName', 'clientLastName','country'])clients2 = {'clientFirstName': [ 'Bill','Jack','Elizabeth','Jenny'], 'clientLastName': [ 'Jackson','Green','Gross','Sing'], 'country': [ 'UK','Germany','Brazil','Japan'] }df2 = pd.DataFrame(clients2, columns= [ 'clientFirstName', 'clientLastName','country'])union = pd.concat([ df1, df2], ignore_index=True) print (union)

结果:
如何使用Concat联合Pandas DataFrames()

文章图片
如何联合Pandas DataFrames?就是这样!即使你有 2 个以上的 DataFrame,你刚刚看到的上述方法也能正常工作。请注意,你需要在所有 DataFrame 中保持相同的列名以避免任何NaN 值。
有关连接 DataFrame 的更多信息,请访问  Pandas.concat文档。
【如何使用Concat联合Pandas DataFrames()】你可能还想查看以下教程,该教程解释了如何使用 Pandas 连接列值。

    推荐阅读