pandas.concat方法怎么在Python3中使用
在Python3中,pandas.concat方法是用于将Pandas DataFrame和Series合并,创建一个新的Pandas DataFrame的函数。Pandas.concat方法的语法如下:
pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, sort=False, verify_integrity=False, copy=True)
其中,objs是要合并的数据集,可以是一个DataFrame或Series的列表,axis指定合并的方向,join指定合并方式,ignore_index表示是否重置索引,keys表示合并后新的索引名称,sort表示是否对合并后的数据进行排序,verify_integrity表示是否检查索引的 性,copy表示是否复制对象。下面是使用pandas.concat方法的一些示例:
1. 将两个DataFrame合并为一个
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2'], 'C': ['C0', 'C1', 'C2']})
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'], 'B': ['B3', 'B4', 'B5'], 'C': ['C3', 'C4', 'C5']})
result = pd.concat([df1, df2])
print(result)
输出:
A B C 0 A0 B0 C0 1 A1 B1 C1 2 A2 B2 C2 0 A3 B3 C3 1 A4 B4 C4 2 A5 B5 C5
在这个例子中,将df1和df2两个DataFrame沿着默认的行方向(axis=0)进行合并,并且重新索引。df1和df2的列数相同,且列名称相同,这样能够保证数据合并的正确性。
2. 将两个Series合并为一个新的DataFrame
import pandas as pd s1 = pd.Series(['A0', 'A1', 'A2'], name='A') s2 = pd.Series(['B0', 'B1', 'B2'], name='B') result = pd.concat([s1, s2], axis=1) print(result)
输出:
A B
0 A0 B0
1 A1 B1
2 A2 B2
在这个例子中,将s1和s2两个Series沿着列方向(axis=1)进行合并,并且重新索引。s1和s2索引名称均为数字,因此合并后的新DataFrame的索引名称也是数字。
3. 忽略原来的索引编号,重新生成新的索引
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2'], 'C': ['C0', 'C1', 'C2']})
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'], 'B': ['B3', 'B4', 'B5'], 'C': ['C3', 'C4', 'C5']})
result = pd.concat([df1, df2], ignore_index=True)
print(result)
输出:
A B C 0 A0 B0 C0 1 A1 B1 C1 2 A2 B2 C2 3 A3 B3 C3 4 A4 B4 C4 5 A5 B5 C5
在这个例子中,将两个DataFrame沿着默认的行方向(axis=0)进行合并,并且忽略原来的索引编号,重新生成新的索引号。
4. 使用keys参数给合并后的数据集增加一个多层级索引
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], 'B': ['B0', 'B1', 'B2'], 'C': ['C0', 'C1', 'C2']})
df2 = pd.DataFrame({'A': ['A3', 'A4', 'A5'], 'B': ['B3', 'B4', 'B5'], 'C': ['C3', 'C4', 'C5']})
result = pd.concat([df1, df2], keys=['df1', 'df2'])
print(result)
输出:
A B C
df1 0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
df2 0 A3 B3 C3
1 A4 B4 C4
2 A5 B5 C5
在这个例子中,通过keys参数将两个DataFrame合并成一个多层级索引的DataFrame,其中keys的值为df1和df2,表示合并后的子集来自哪个DataFrame。
总的来说,pandas.concat方法是非常实用的数据集合并方法,通过掌握这个方法,我们可以更方便地对Pandas DataFrame和Series进行数据处理和分析。
