你可以使用Concat联合Pandas DataFrames:
pd.concat([df1, df2])
你可以通过在括号内添加额外的 DataFrame 来连接它们。
如何联合Pandas DataFrames?在下一节中,你将看到一个示例,其中包含使用 contact 合并 Pandas DataFrames 的步骤。
使用Concat联合Pandas DataFrames的步骤
第 1 步:创建第一个 DataFrame
例如,假设你有以下有关客户的数据:
clientFirstName | clientLastName | country |
Jon | Smith | US |
Maria | Lam | Canada |
Bruce | Jones | Italy |
Lili | Chang | China |
然后,你可以创建一个 DataFrame来在 Python 中捕获上述数据:
import pandas as pd
clients1 = {'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 运行代码,你会得到:
第 2 步:创建第二个 DataFrame
现在假设你获得了有关新客户的附加数据:
clientFirstName | clientLastName | country |
Bill | Jackson | UK |
Jack | Green | Germany |
Elizabeth | Gross | Brazil |
Jenny | Sing | Japan |
然后,你可以创建第二个 DataFrame,如下所示:
import pandas as pd
clients2 = {'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)
运行代码,你会看到:
你的目标是联盟这两个DataFrames在一起。然后,你可以使用 Pandas concat来实现此目标。
第 3 步:使用 Concat 联合 Pandas DataFrame
最后,要将两个 Pandas DataFrame 结合在一起,你可以应用你在本指南开头看到的通用语法:
pd.concat([df1, df2])
这是使用Concat联合Pandas DataFrames的完整 Python 代码,Concat联合Pandas DataFrames的示例如下:
import pandas as pd
clients1 = {'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:
请注意,索引值不断重复(第一个 DataFrame 从 0 到 3,然后第二个 DataFrame 从 0 到 3):
一旦你连接了两个数据帧,你就可以选择以增量方式分配索引值。
为此,只需 在pd.concat括号内设置ignore_index=True,Concat联合Pandas DataFrames的示例如下:
import pandas as pd
clients1 = {'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)
结果:
如何联合Pandas DataFrames?就是这样!即使你有 2 个以上的 DataFrame,你刚刚看到的上述方法也能正常工作。请注意,你需要在所有 DataFrame 中保持相同的列名以避免任何NaN 值。
有关连接 DataFrame 的更多信息,请访问 Pandas.concat文档。
你可能还想查看以下教程,该教程解释了如何使用 Pandas 连接列值。