在熊猫中,当您定义一个数据框并将其不断合并到其他数据框时,列名称将被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/

10-12 23:34