pycharm pandas concat用法
时间: 2023-10-08 18:11:53 浏览: 113
Pandas的concat()函数可以将几个数据框按照指定的方式合并在一起。它的用法如下:
```python
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True)
```
参数说明:
- objs:一个列表,用于指定需要合并的数据框。
- axis:指定合并的轴方向。默认值为0,表示按行合并;如果设置为1,表示按列合并。
- join:指定合并方式。默认值为'outer',表示取并集;如果设置为'inner',表示取交集。
- join_axes:用于指定轴方向上的索引。如果指定了join_axes参数,那么objs中的数据框必须具有该索引。
- ignore_index:表示是否忽略原始数据的索引。默认值为False,表示保留原始索引;如果设置为True,则会生成新的索引。
- keys:用于创建一个层次化索引。如果objs中的数据框没有列名,那么keys参数可以用于指定列名。
- levels、names:用于指定层次化索引的名称。
- verify_integrity:表示是否检查合并后的数据框是否有重复的行或列。默认值为False,表示不检查;如果设置为True,则会检查并抛出异常。
- sort:表示是否按照索引排序。默认值为None,表示不排序;如果设置为True,表示按照索引排序。
- copy:表示是否复制数据。默认值为True,表示复制数据。
示例:
```python
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 1, 2, 3])
df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
'B': ['B4', 'B5', 'B6', 'B7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D': ['D4', 'D5', 'D6', 'D7']},
index=[4, 5, 6, 7])
df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],
'B': ['B8', 'B9', 'B10', 'B11'],
'C': ['C8', 'C9', 'C10', 'C11'],
'D': ['D8', 'D9', 'D10', 'D11']},
index=[8, 9, 10, 11])
# 按行合并
result1 = pd.concat([df1, df2, df3])
print(result1)
# 按列合并
result2 = pd.concat([df1, df2, df3], axis=1)
print(result2)
```
输出:
```
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
4 A4 B4 C4 D4
5 A5 B5 C5 D5
6 A6 B6 C6 D6
7 A7 B7 C7 D7
8 A8 B8 C8 D8
9 A9 B9 C9 D9
10 A10 B10 C10 D10
11 A11 B11 C11 D11
A B C D A B C D A B C D
0 A0 B0 C0 D0 NaN NaN NaN NaN NaN NaN NaN NaN
1 A1 B1 C1 D1 NaN NaN NaN NaN NaN NaN NaN NaN
2 A2 B2 C2 D2 NaN NaN NaN NaN NaN NaN NaN NaN
3 A3 B3 C3 D3 NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN A4 B4 C4 D4 NaN NaN NaN NaN
5 NaN NaN NaN NaN A5 B5 C5 D5 NaN NaN NaN NaN
6 NaN NaN NaN NaN A6 B6 C6 D6 NaN NaN NaN NaN
7 NaN NaN NaN NaN A7 B7 C7 D7 NaN NaN NaN NaN
8 NaN NaN NaN NaN NaN NaN NaN NaN A8 B8 C8 D8
9 NaN NaN NaN NaN NaN NaN NaN NaN A9 B9 C9 D9
10 NaN NaN NaN NaN NaN NaN NaN NaN A10 B10 C10 D10
11 NaN NaN NaN NaN NaN NaN NaN NaN A11 B11 C11 D11
```
可以看到,按行合并的结果是将三个数据框按照行方向拼接在一起,而按列合并的结果则是将三个数据框按照列方向拼接在一起。
阅读全文