在Pandas中定义数据框并将其合并到其他数据框时,列名将替换为exact name or _x or _y
等,具体取决于您合并的数量。当您发现必须在早期代码中实现某些内容并返回更改并合并一个额外的数据帧时,这就变得很痛苦。现在,这将重命名exact name or _x or _y
,现在您必须使用新创建的名称替换之后的列。
有解决方法吗?我是否需要使用表格类型的数据结构,如hdf5等?
答案 0 :(得分:1)
也许在merge
中帮助设置参数suffixes
:
import pandas as pd
left = pd.DataFrame({'k': ['K0', 'K1', 'K2'], 'v': [1, 2, 3]})
print left
k v
0 K0 1
1 K1 2
2 K2 3
right = pd.DataFrame({'k': ['K0', 'K0', 'K3'], 'v': [4, 5, 6]})
print right
k v
0 K0 4
1 K0 5
2 K3 6
result = pd.merge(left, right, on='k', suffixes=['', '_r'])
print result
k v v_r
0 K0 1 4
1 K0 1 5