根据匹配的ID创建新列

时间:2020-04-19 15:24:43

标签: pandas

我有以下内容:

df = pd.DataFrame({
    'ID': [1, 1, 10, 25, 25],
    'Col 1': ['X', 'Y', 'X', 'X', 'Y'],
    'Col 2': ['Y', 'X', 'Y', 'Y', 'X'],
    'Val 1': [100, 20, 350, 500, 3],
    'Val 2': [20, 100, 9, 16, 500]
}).set_index('ID')

并且我想在匹配的ID上创建列,同时考虑到Col 1和Val 1(注意,当ID匹配时,将交换Col 1和Col 2的值),即我想创建以下内容:

new_df = pd.DataFrame({
    'ID': [1, 1, 10, 25, 25],
    'Col 1': ['X', 'Y', 'X', 'X', 'Y'],
    'Col 2': ['Y', 'X', 'Y', 'Y', 'X'],
    'Val 1': [100, 20, 350, 500, 3],
    'Val 1 Wanted': [100, 20, 350, 500, 16],
    'Val 2': [20, 100, 9, 16, 500],
    'Val 2 Wanted': [20, 100, 9, 3, 500],
}).set_index('ID')

0 个答案:

没有答案