Pandas是Python中非常实用的数据分析库之一,它提供了许多方便的函数和工具来进行数据预处理、清洗、分析、可视化等任务。其中,Pandas.concat()函数可用于连接不同的DataFrame或Series对象,也是常用的数据合并操作之一。
下面,我们将通过两个示例来详细讲解Pandas.concat连接DataFrame和Series的示例代码攻略:
示例一:连接两个DataFrame
我们先创建两个DataFrame,然后将它们连接起来。假设这两个数据框包含的是一个公司的员工信息和工资。
import pandas as pd
data1 = {'Name': ['Tom', 'Lucy', 'John'], 'Age': [28, 24, 20], 'State': ['CA', 'NY', 'TX']}
df1 = pd.DataFrame(data1)
data2 = {'Name': ['Tom', 'Lucy', 'John'], 'Salary': [10000, 15000, 12000], 'State': ['CA', 'NY', 'TX']}
df2 = pd.DataFrame(data2)
DataFrame df1包含员工姓名、年龄和所在州,如下表所示:
Name | Age | State | |
---|---|---|---|
0 | Tom | 28 | CA |
1 | Lucy | 24 | NY |
2 | John | 20 | TX |
DataFrame df2包含员工姓名、工资和所在州,如下表所示:
Name | Salary | State | |
---|---|---|---|
0 | Tom | 10000 | CA |
1 | Lucy | 15000 | NY |
2 | John | 12000 | TX |
现在,我们将这两个DataFrame连接起来,使用Pandas.concat()函数,代码如下:
df = pd.concat([df1, df2], axis=1)
print(df)
这里,我们使用了concat()函数,将df1和df2以列(axis=1)的方式进行拼接,结果如下:
Name | Age | State | Name | Salary | State | |
---|---|---|---|---|---|---|
0 | Tom | 28 | CA | Tom | 10000 | CA |
1 | Lucy | 24 | NY | Lucy | 15000 | NY |
2 | John | 20 | TX | John | 12000 | TX |
可以看到,两个DataFrame以列方向拼接,原先的State列在合并后出现了两次,需要我们手动进行列名重命名的操作。
示例二:连接两个Series
不仅DataFrame可以使用concat()函数进行拼接,Series也可以进行拼接。下面是一个使用concat()函数连接两个Series的示例。
import pandas as pd
s1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])
s2 = pd.Series(['D', 'E', 'F'], index=[4, 5, 6])
result = pd.concat([s1, s2], axis=0)
print(result)
在这个示例中,我们创建了两个Series:s1和s2。其中,s1的索引是[1, 2, 3],值是['A', 'B', 'C'],s2的索引是[4, 5, 6],值是['D', 'E', 'F']。我们使用concat()函数将它们按照行(axis=0)的方式进行拼接,结果如下:
1 | A |
---|---|
2 | B |
3 | C |
4 | D |
5 | E |
6 | F |
可以看到,s1和s2按照索引的顺序进行连接,并且连接后的结果也是一个Series对象。注意,这里我们使用了axis参数来指定拼接的方向,axis=0表示按照行的方向进行拼接。此外,在连接Series对象时,还有一个join参数可以使用,用于指定连接的方式。默认情况下,join='outer'表示连接方式为并集,即包含所有的行和列;join='inner'表示连接方式为交集,即只包含相同的行和列。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas.concat连接DataFrame,Series的示例代码 - Python技术站