在熊猫中,当您定义一个数据框并将其不断合并到其他数据框时,列名称将被exact name or _x or _y
等替换,具体取决于合并的数量。当您发现必须在先前的代码中实现某些功能,而又回去更改并合并一个额外的数据框时,这将变得很痛苦。现在,这将重命名exact name or _x or _y
,现在您必须用新创建的名称替换后面的列。
有没有解决的办法?我是否需要使用数据结构的表类型,例如hdf5等?
最佳答案
也许可以帮助在suffixes
中设置参数merge
:
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
关于python - 自动重命名DataFrame列的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36697521/