数据的加载,存储,清洗,转换合并

拼接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
以下皆是以3x3的矩阵进行拼接
np.hstack((a,b)) 水平拼接 行数相等
如两个3x3拼接
[[ 7, 34, 37, 70, 11, 67],
[56, 12, 35, 66, 38, 85],
[84, 80, 89, 49, 23, 88]]
np.vstack((a,b)) 垂直拼接 列数相等
如两个3x3拼接
[[21, 62, 2],
[41, 8, 48],
[46, 37, 91],
[ 1, 62, 72],
[82, 84, 4],
[ 4, 88, 81]]
concatenate((a,b),axis=0) 可拼接多个,axis默认垂直拼接=0(主要用于大数据的处理)
axis=0默认的
[[80, 45, 33],
[18, 39, 41],
[10, 80, 32],
[71, 23, 95],
[67, 58, 21],
[ 2, 42, 31]]
axis=1水平的
[[78, 81, 99, 58, 76, 46],
[30, 47, 52, 22, 66, 42],
[21, 89, 84, 2, 56, 31]]
column_stack((a,b)) 水平拼接 列拼接
[[86, 10, 90, 27, 23, 28],
[20, 23, 45, 37, 82, 34],
[14, 57, 86, 72, 6, 27]]
row_stack(a,b) 垂直拼接 行拼接
[[51, 90, 24],
[63, 90, 37],
[27, 79, 91],
[90, 2, 45],
[74, 4, 48],
[54, 70, 11]]
merge(a,b,on='对应键a') 按照对应键进行笛卡尔乘积(内连接)键相同的保留,合并的连个数据框需要列名相同(pandas的函数)
a b_x c_x b_y c_y
0 9 3 9 1 2
其中merge中有一个参数修改连接方式(how='left'左连接,how='right'右连接),若果键名不同通过left_on\right_on实现
join 同merge,默认使用左连接,how = 'right'右连接
两个dataframe的列索引不能有一样的
concat((a1,a2),axis=0) 默认垂直拼接,axis=1变成水平拼接
axis=1
a b c a b c
0 9 3 9 9 1 2
1 8 1 5 7 1 1
2 1 8 7 2 8 7