本文主要介绍使用merge和concat对DataFrame进行连接合并,以及如何从数据中选出含有一个或多个空值的行。
首先创建两个dataframe:
复制代码
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
26df1 = pd.DataFrame([['a', 1], ['b', 2],['c',3],['d',4]],columns=['letter', 'number']) print(df1) # letter number # 0 a 1 # 1 b 2 # 2 c 3 # 3 d 4 df2 = pd.DataFrame([['c', 9], ['d', 8]],columns=['letter', 'number2']) print(df2) # letter number2 # 0 c 9 # 1 d 8
concat轴向连接,"axis=0"表示横轴,即按行拼接合并:
复制代码
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
29cdf2=pd.concat([df1, df2],axis=0) print(cdf2) # letter number number2 # 0 a 1.0 NaN # 1 b 2.0 NaN # 2 c 3.0 NaN # 3 d 4.0 NaN # 0 c NaN 9.0 # 1 d NaN 8.0
concat按列拼接合并:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25cdf=pd.concat([df1, df2],axis=1) print(cdf) #letter number letter number2 # 0 a 1 c 9.0 # 1 b 2 d 8.0 # 2 c 3 NaN NaN # 3 d 4 NaN NaN
merge通过键合并,"on"指定用于连接的列(键):
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21mdf=pd.merge(df1,df2,on=['letter'],how='left') print(mdf) # letter number number2 # 0 a 1 NaN # 1 b 2 NaN # 2 c 3 9.0 # 3 d 4 8.0
从dataframe中选出带有空值的行:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12print(mdf[mdf.isnull().values]) # letter number number2 # 0 a 1 NaN # 1 b 2 NaN
最后
以上就是糟糕树叶最近收集整理的关于pandas merge、concat合并数据集及选择带空值的行的全部内容,更多相关pandas内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复