问题
【问题一】 append/assign/combine/update/concat/merge/join各自最适合使用的场景,并举出相应的例子。
append:可以利用Series或DataFrame添加行。
assign:添加列。
combine:利用规则在表中填充另一个表的数据。
update:按索引来覆盖更新数据
concat:行/列两个方向拼接两个表。
merge:横向拼接(笛卡尔积方式),适用于多级索引的情况
【问题二】 merge_ordered和merge_asof?和merge是什么关系?
merge_ordered:
函数允许组合时间序列和其他有序数据。 特别是它有一个可选的fill_method关键字来填充/插入缺失的数据。
merge_asof
除了我们匹配最近的键而不是相等的键之外,其他的都类似于有序的left-join 。 对于左侧DataFrame中的每一行,我们选择右侧DataFrame中on键对应的值小于left的键对应的值的最后一行。 两个DataFrame必须按键排序。
【问题三】 请构造一个多级索引与多级索引合并的例子,尝试使用不同的合并函数。
【问题四】 上文提到了连接的笛卡尔积,那么当连接方式变化时(inner/outer/left/right),这种笛卡尔积规则会相应变化吗?
不会。分别改变how的值为inner/outer/left/right,可以发现key1:K1与key2:K0的笛卡尔积规则一样,但合并方式会有些不一样。