【小白从小学Python、C、Java】
【Python全国计算机等级考试】
【Python数据分析考试必会题】
● 标题与摘要
pandas库实现数据连接
concat()函数
● 选择题
以下关于concat()函数说法错误的是:
选项:
A concat()函数是numpy库中的函数
B concat()函数是pandas库中的函数
C ignore_index=False保留原索引
D axis=0表示进行行连接(行增加连接)
● 温馨期待
期待大家提出宝贵建议,互相交流,收获更大,助教:zjq[太阳]
欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
● 问题解析
1.concat()函数是pandas库中的函数,在使用之前,需要导入pandas包:import pandas。
2.concat()函数的简单语法为:
pd.concat(objs,axis=0,join='outer',ignore_index=False),其中axis=0,join='outer',ignore_index=False为可选参数。
3.参数含义解释:
(1)objs可以是Python中的数组series,数据框dataframe或者列表list;
(2)gnore_index=False表示保留原本的索引,不产生新的索引,ignore_index=True表示不保留原本索引,产生新的索引,详见图1。
(3)axis=0表示按行连接(行增加连接),axis=1表示按列连接(列增加连接),连接过程中产生的缺失值用NaN填充,详见图2;
(4)join='outer'表示索引取并集,join='inner'表示索引取交集,详见图3:pd.concat([s1,s2,s3],axis=1,join='outer'),将s1,s2,s3按列连接,然后取并集,并集中的缺失值返回NaN;pd.concat([s1,s2,s3],axis=1,join='inner'),将s1,s2,s3按列连接,然后取得交集索引为c,因此返回索引为c的数据。
● 附图
图1 concat()函数中ignore_index参数
图2 concat()函数中axis参数
图3 concat()函数中join参数
● 附图代码
import pandas as pd
s1=pd.Series([0,1,2],index=['a','b','c'])
s2=pd.Series([3,4,5],index=['d','e','c'])
s3=pd.Series([4,5,6],index=['c','f','e'])
print(s1,s2,s3)
pd.concat([s1,s2,s3],ignore_index=True) #表示不保留原索引,产生新的索引
pd.concat([s1,s2,s3],ignore_index=False) #保留原本的索引,不产生新的索引
pd.concat([s1,s2,s3],axis=1) #按列连接(列增加连接)
pd.concat([s1,s2,s3],axis=0) #按行连接(行增加连接)
pd.concat([s1,s2,s3],axis=1,join='outer')
pd.concat([s1,s2,s3],axis=1,join='inner')
● 正确答案
A