Python 合并类型错误:类型为';非类型';没有len()
我正在试验熊猫合并左上和右上参数。 根据和 文档1:说明left_on和right_on是要在left/right DataFrame中加入的字段名。 文档2:左数据框中用作键的列 键是什么意思 以下文件1:Python 合并类型错误:类型为';非类型';没有len(),python,pandas,Python,Pandas,我正在试验熊猫合并左上和右上参数。 根据和 文档1:说明left_on和right_on是要在left/right DataFrame中加入的字段名。 文档2:左数据框中用作键的列 键是什么意思 以下文件1: left_frame = pd.DataFrame({'key': range(5), 'left_value': ['a', 'b', 'c', 'd', 'e']}) right_frame = pd.DataFrame({'key': r
left_frame = pd.DataFrame({'key': range(5),
'left_value': ['a', 'b', 'c', 'd', 'e']})
right_frame = pd.DataFrame({'key': range(2,7),
'right_value': ['f', 'g', 'h', 'i', 'j']})
我这样做:
df = pd.merge(left_frame,right_frame,how='right',right_on='key')
左_帧将“key”作为字段名,但它仍然返回
TypeError: object of type 'NoneType' has no len()
看来你需要:
df = pd.merge(left_frame, right_frame, how='right', on='key')
因为左右列名称相同
如果列名称不同:
df = pd.merge(left_frame, right_frame, how='right', right_on='key1', left_on='key2')
键是什么意思
如果检查:
on:标签或列表
要加入的字段名。必须在两个数据帧中都找到。如果on为None且未在索引上合并,则默认情况下,它在列的交点上合并
它意味着要连接的列中的值。Yes,或者需要
right\u on='key'
和left\u index=True
。但是需要index
值来匹配left df,所以需要df=pd.merge(left\u frame.set\u index('key'),right\u frame,how='right',right\u on='key',left\u index=True)
我可以说left_on和right_on用于合并具有相同列但具有不同列名的dfs吗?