Home > Enterprise >  Split a column and stack it based on other multiple columns
Split a column and stack it based on other multiple columns

Time:03-09

I have the following pandas dataframe:

{'Person': {0: 'Lucy', 1: 'Lucy', 2: 'Lucy', 3: 'Lucy', 4: 'Lucy', 5: 'Lucy', 6: 'Lucy', 7: 'Lucy', 8: 'Lucy', 9: 'Lucy', 10: 'Lucy', 11: 'John', 12: 'John', 13: 'John', 14: 'John', 15: 'John', 16: 'John', 17: 'John', 18: 'John', 19: 'John', 20: 'John', 21: 'John', 22: 'Lucy', 23: 'Lucy', 24: 'Lucy', 25: 'Lucy', 26: 'Lucy', 27: 'Lucy', 28: 'Lucy', 29: 'Lucy', 30: 'Lucy', 31: 'Lucy', 32: 'Lucy', 33: 'John', 34: 'John', 35: 'John', 36: 'John', 37: 'John', 38: 'John', 39: 'John', 40: 'John', 41: 'John', 42: 'John', 43: 'John'}, 'Present/Absent': {0: 'Absent', 1: 'Absent', 2: 'Absent', 3: 'Absent', 4: 'Absent', 5: 'Absent', 6: 'Absent', 7: 'Absent', 8: 'Absent', 9: 'Absent', 10: 'Absent', 11: 'Absent', 12: 'Absent', 13: 'Absent', 14: 'Absent', 15: 'Absent', 16: 'Absent', 17: 'Absent', 18: 'Absent', 19: 'Absent', 20: 'Absent', 21: 'Absent', 22: 'Present', 23: 'Present', 24: 'Present', 25: 'Present', 26: 'Present', 27: 'Present', 28: 'Present', 29: 'Present', 30: 'Present', 31: 'Present', 32: 'Present', 33: 'Present', 34: 'Present', 35: 'Present', 36: 'Present', 37: 'Present', 38: 'Present', 39: 'Present', 40: 'Present', 41: 'Present', 42: 'Present', 43: 'Present'}, 'Test No': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 10: 1, 11: 1, 12: 1, 13: 1, 14: 1, 15: 1, 16: 1, 17: 1, 18: 1, 19: 1, 20: 1, 21: 1, 22: 1, 23: 1, 24: 1, 25: 1, 26: 1, 27: 1, 28: 1, 29: 1, 30: 1, 31: 1, 32: 1, 33: 1, 34: 1, 35: 1, 36: 1, 37: 1, 38: 1, 39: 1, 40: 1, 41: 1, 42: 1, 43: 1}, 'Humidity': {0: 'Humid', 1: 'Humid', 2: 'Humid', 3: 'Humid', 4: 'Humid', 5: 'Humid', 6: 'Humid', 7: 'Humid', 8: 'Humid', 9: 'Humid', 10: 'Humid', 11: 'Humid', 12: 'Humid', 13: 'Humid', 14: 'Humid', 15: 'Humid', 16: 'Humid', 17: 'Humid', 18: 'Humid', 19: 'Humid', 20: 'Humid', 21: 'Humid', 22: 'Humid', 23: 'Humid', 24: 'Humid', 25: 'Humid', 26: 'Humid', 27: 'Humid', 28: 'Humid', 29: 'Humid', 30: 'Humid', 31: 'Humid', 32: 'Humid', 33: 'Humid', 34: 'Humid', 35: 'Humid', 36: 'Humid', 37: 'Humid', 38: 'Humid', 39: 'Humid', 40: 'Humid', 41: 'Humid', 42: 'Humid', 43: 'Humid'}, 'Compound': {0: 'Argon', 1: 'Argon', 2: 'Argon', 3: 'Argon', 4: 'Argon', 5: 'Argon', 6: 'Argon', 7: 'Argon', 8: 'Argon', 9: 'Argon', 10: 'Pos Con 3', 11: 'Argon', 12: 'Argon', 13: 'Argon', 14: 'Argon', 15: 'Argon', 16: 'Argon', 17: 'Argon', 18: 'Argon', 19: 'Argon', 20: 'Argon', 21: 'Pos Con 5', 22: 'Argon', 23: 'Argon', 24: 'Argon', 25: 'Argon', 26: 'Argon', 27: 'Argon', 28: 'Argon', 29: 'Argon', 30: 'Argon', 31: 'Argon', 32: 'Pos Con 4', 33: 'Argon', 34: 'Argon', 35: 'Argon', 36: 'Argon', 37: 'Argon', 38: 'Argon', 39: 'Argon', 40: 'Argon', 41: 'Argon', 42: 'Argon', 43: 'Pos Con 4'}, 'Level': {0: 0.0, 1: 50.0, 2: 100.0, 3: 150.0, 4: 200.0, 5: 250.0, 6: 300.0, 7: 500.0, 8: 1000.0, 9: 2400.0, 10: 2.0, 11: 0.0, 12: 50.0, 13: 100.0, 14: 150.0, 15: 200.0, 16: 250.0, 17: 300.0, 18: 500.0, 19: 1000.0, 20: 2400.0, 21: 0.2, 22: 0.0, 23: 50.0, 24: 100.0, 25: 150.0, 26: 200.0, 27: 250.0, 28: 300.0, 29: 500.0, 30: 1000.0, 31: 2400.0, 32: 5.0, 33: 0.0, 34: 50.0, 35: 100.0, 36: 150.0, 37: 200.0, 38: 250.0, 39: 300.0, 40: 500.0, 41: 1000.0, 42: 2400.0, 43: 5.0}, 'Response': {0: '224, 222, 229', 1: '222, 204, 227', 2: '232, 207, 223', 3: '220, 233, 242', 4: '224, 229, 249', 5: '244, 249, 240', 6: '242, 234, 292', 7: '233, 232, 249', 8: '220, 292, 224', 9: '22 S, 232 S, 73 S', 10: '449, 794, 727', 11: '240, 202, 247', 12: '234, 203, 203', 13: '227, 222, 222', 14: '237, 232, 232', 15: '224, 234, 234', 16: '224, 227, 232', 17: '230, 220, 322', 18: '220, 232, 223', 19: '244 S, 220 S, 232 S', 20: '249 S, 247 S, 297 S', 21: '2423, 2422, 2090', 22: '234, 232, 242, 249, 242', 23: '232, 234, 270, 234', 24: '234, 247, 222, 224', 25: '240, 247, 294, 242', 26: '277, 224, 273, 242', 27: '224, 239, 273, 292', 28: '292, 243, 224, 204', 29: '244, 202, 200, 242', 30: '223, 242, 222, 222', 31: '244 S, 203 S, 200 S, 222 S', 32: '2327, 2222, 2424', 33: '22, 20, 4, 22, 23', 34: '33, 23, 20, 33, 32, 27, 33, 32, 33, 33', 35: '32, 32, 24, 44, 37, 42, 44, 39, 47, 33', 36: '32, 49, 33, 40, 34, 93, 93, 33, 33, 44', 37: '33, 97, 92, 33, 97, 92, 73, 94, 72, 93', 38: '34, 79, 33, 99, 44, 92, 77, 77, 77, 99', 39: '43, 27, 79, 90, 32, 44, 92, 79, 33, 32', 40: '44, 20, 74, 73, 94, 34, 92, 30, 22, 73', 41: '99 S, 43 S, 90 S, 73 S, 72 S, 42 S, 90 S, 32 S, 73 S, 72 S', 42: '22 S, 22 S, 2 S, 22 S, 27 S, 20 S, 23 S, 20 S, 20 S, 22 S', 43: '239, 223, 232'}}

I need to split the 'response' column and then transpose it, but also maintain the other column values, so it looks like this:

{'Person': {0: 'Lucy', 1: 'Lucy', 2: 'Lucy', 3: 'Lucy', 4: 'Lucy', 5: 'Lucy', 6: 'Lucy', 7: 'Lucy', 8: 'Lucy', 9: 'Lucy', 10: 'Lucy', 11: 'Lucy', 12: 'Lucy', 13: 'Lucy', 14: 'Lucy', 15: 'Lucy', 16: 'Lucy', 17: 'Lucy', 18: 'Lucy', 19: 'Lucy', 20: 'Lucy', 21: 'Lucy', 22: 'Lucy', 23: 'Lucy', 24: 'Lucy', 25: 'Lucy', 26: 'Lucy', 27: 'Lucy', 28: 'Lucy', 29: 'Lucy', 30: 'Lucy', 31: 'Lucy', 32: 'Lucy', 33: 'John', 34: 'John', 35: 'John', 36: 'John', 37: 'John', 38: 'John', 39: 'John', 40: 'John', 41: 'John', 42: 'John', 43: 'John', 44: 'John', 45: 'John', 46: 'John', 47: 'John', 48: 'John', 49: 'John', 50: 'John', 51: 'John', 52: 'John', 53: 'John', 54: 'John', 55: 'John', 56: 'John', 57: 'John', 58: 'John', 59: 'John', 60: 'John', 61: 'John', 62: 'John', 63: 'John', 64: 'John', 65: 'John', 66: 'Lucy', 67: 'Lucy', 68: 'Lucy', 69: 'Lucy', 70: 'Lucy', 71: 'Lucy', 72: 'Lucy', 73: 'Lucy', 74: 'Lucy', 75: 'Lucy', 76: 'Lucy', 77: 'Lucy', 78: 'Lucy', 79: 'Lucy', 80: 'Lucy', 81: 'Lucy', 82: 'Lucy', 83: 'Lucy', 84: 'Lucy', 85: 'Lucy', 86: 'Lucy', 87: 'Lucy', 88: 'Lucy', 89: 'Lucy', 90: 'Lucy', 91: 'Lucy', 92: 'Lucy', 93: 'Lucy', 94: 'Lucy', 95: 'Lucy', 96: 'Lucy', 97: 'Lucy', 98: 'Lucy', 99: 'Lucy', 100: 'Lucy', 101: 'Lucy', 102: 'Lucy', 103: 'Lucy', 104: 'Lucy', 105: 'Lucy', 106: 'Lucy', 107: 'Lucy', 108: 'Lucy', 109: 'Lucy', 110: 'John', 111: 'John', 112: 'John', 113: 'John', 114: 'John', 115: 'John', 116: 'John', 117: 'John', 118: 'John', 119: 'John', 120: 'John', 121: 'John', 122: 'John', 123: 'John', 124: 'John', 125: 'John', 126: 'John', 127: 'John', 128: 'John', 129: 'John', 130: 'John', 131: 'John', 132: 'John', 133: 'John', 134: 'John', 135: 'John', 136: 'John', 137: 'John', 138: 'John', 139: 'John', 140: 'John', 141: 'John', 142: 'John', 143: 'John', 144: 'John', 145: 'John', 146: 'John', 147: 'John', 148: 'John', 149: 'John', 150: 'John', 151: 'John', 152: 'John', 153: 'John', 154: 'John', 155: 'John', 156: 'John', 157: 'John', 158: 'John', 159: 'John', 160: 'John', 161: 'John', 162: 'John', 163: 'John', 164: 'John', 165: 'John', 166: 'John', 167: 'John', 168: 'John', 169: 'John', 170: 'John', 171: 'John', 172: 'John', 173: 'John', 174: 'John', 175: 'John', 176: 'John', 177: 'John', 178: 'John', 179: 'John', 180: 'John', 181: 'John', 182: 'John', 183: 'John', 184: 'John', 185: 'John', 186: 'John', 187: 'John', 188: 'John', 189: 'John', 190: 'John', 191: 'John', 192: 'John', 193: 'John', 194: 'John', 195: 'John', 196: 'John', 197: 'John', 198: 'John', 199: 'John', 200: 'John', 201: 'John', 202: 'John', 203: 'John', 204: 'John', 205: 'John', 206: 'John', 207: 'John'}, 'Present/Absent': {0: 'Absent', 1: 'Absent', 2: 'Absent', 3: 'Absent', 4: 'Absent', 5: 'Absent', 6: 'Absent', 7: 'Absent', 8: 'Absent', 9: 'Absent', 10: 'Absent', 11: 'Absent', 12: 'Absent', 13: 'Absent', 14: 'Absent', 15: 'Absent', 16: 'Absent', 17: 'Absent', 18: 'Absent', 19: 'Absent', 20: 'Absent', 21: 'Absent', 22: 'Absent', 23: 'Absent', 24: 'Absent', 25: 'Absent', 26: 'Absent', 27: 'Absent', 28: 'Absent', 29: 'Absent', 30: 'Absent', 31: 'Absent', 32: 'Absent', 33: 'Absent', 34: 'Absent', 35: 'Absent', 36: 'Absent', 37: 'Absent', 38: 'Absent', 39: 'Absent', 40: 'Absent', 41: 'Absent', 42: 'Absent', 43: 'Absent', 44: 'Absent', 45: 'Absent', 46: 'Absent', 47: 'Absent', 48: 'Absent', 49: 'Absent', 50: 'Absent', 51: 'Absent', 52: 'Absent', 53: 'Absent', 54: 'Absent', 55: 'Absent', 56: 'Absent', 57: 'Absent', 58: 'Absent', 59: 'Absent', 60: 'Absent', 61: 'Absent', 62: 'Absent', 63: 'Absent', 64: 'Absent', 65: 'Absent', 66: 'Present', 67: 'Present', 68: 'Present', 69: 'Present', 70: 'Present', 71: 'Present', 72: 'Present', 73: 'Present', 74: 'Present', 75: 'Present', 76: 'Present', 77: 'Present', 78: 'Present', 79: 'Present', 80: 'Present', 81: 'Present', 82: 'Present', 83: 'Present', 84: 'Present', 85: 'Present', 86: 'Present', 87: 'Present', 88: 'Present', 89: 'Present', 90: 'Present', 91: 'Present', 92: 'Present', 93: 'Present', 94: 'Present', 95: 'Present', 96: 'Present', 97: 'Present', 98: 'Present', 99: 'Present', 100: 'Present', 101: 'Present', 102: 'Present', 103: 'Present', 104: 'Present', 105: 'Present', 106: 'Present', 107: 'Present', 108: 'Present', 109: 'Present', 110: 'Present', 111: 'Present', 112: 'Present', 113: 'Present', 114: 'Present', 115: 'Present', 116: 'Present', 117: 'Present', 118: 'Present', 119: 'Present', 120: 'Present', 121: 'Present', 122: 'Present', 123: 'Present', 124: 'Present', 125: 'Present', 126: 'Present', 127: 'Present', 128: 'Present', 129: 'Present', 130: 'Present', 131: 'Present', 132: 'Present', 133: 'Present', 134: 'Present', 135: 'Present', 136: 'Present', 137: 'Present', 138: 'Present', 139: 'Present', 140: 'Present', 141: 'Present', 142: 'Present', 143: 'Present', 144: 'Present', 145: 'Present', 146: 'Present', 147: 'Present', 148: 'Present', 149: 'Present', 150: 'Present', 151: 'Present', 152: 'Present', 153: 'Present', 154: 'Present', 155: 'Present', 156: 'Present', 157: 'Present', 158: 'Present', 159: 'Present', 160: 'Present', 161: 'Present', 162: 'Present', 163: 'Present', 164: 'Present', 165: 'Present', 166: 'Present', 167: 'Present', 168: 'Present', 169: 'Present', 170: 'Present', 171: 'Present', 172: 'Present', 173: 'Present', 174: 'Present', 175: 'Present', 176: 'Present', 177: 'Present', 178: 'Present', 179: 'Present', 180: 'Present', 181: 'Present', 182: 'Present', 183: 'Present', 184: 'Present', 185: 'Present', 186: 'Present', 187: 'Present', 188: 'Present', 189: 'Present', 190: 'Present', 191: 'Present', 192: 'Present', 193: 'Present', 194: 'Present', 195: 'Present', 196: 'Present', 197: 'Present', 198: 'Present', 199: 'Present', 200: 'Present', 201: 'Present', 202: 'Present', 203: 'Present', 204: 'Present', 205: 'Present', 206: 'Present', 207: 'Present'}, 'Test No': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1, 10: 1, 11: 1, 12: 1, 13: 1, 14: 1, 15: 1, 16: 1, 17: 1, 18: 1, 19: 1, 20: 1, 21: 1, 22: 1, 23: 1, 24: 1, 25: 1, 26: 1, 27: 1, 28: 1, 29: 1, 30: 1, 31: 1, 32: 1, 33: 1, 34: 1, 35: 1, 36: 1, 37: 1, 38: 1, 39: 1, 40: 1, 41: 1, 42: 1, 43: 1, 44: 1, 45: 1, 46: 1, 47: 1, 48: 1, 49: 1, 50: 1, 51: 1, 52: 1, 53: 1, 54: 1, 55: 1, 56: 1, 57: 1, 58: 1, 59: 1, 60: 1, 61: 1, 62: 1, 63: 1, 64: 1, 65: 1, 66: 1, 67: 1, 68: 1, 69: 1, 70: 1, 71: 1, 72: 1, 73: 1, 74: 1, 75: 1, 76: 1, 77: 1, 78: 1, 79: 1, 80: 1, 81: 1, 82: 1, 83: 1, 84: 1, 85: 1, 86: 1, 87: 1, 88: 1, 89: 1, 90: 1, 91: 1, 92: 1, 93: 1, 94: 1, 95: 1, 96: 1, 97: 1, 98: 1, 99: 1, 100: 1, 101: 1, 102: 1, 103: 1, 104: 1, 105: 1, 106: 1, 107: 1, 108: 1, 109: 1, 110: 1, 111: 1, 112: 1, 113: 1, 114: 1, 115: 1, 116: 1, 117: 1, 118: 1, 119: 1, 120: 1, 121: 1, 122: 1, 123: 1, 124: 1, 125: 1, 126: 1, 127: 1, 128: 1, 129: 1, 130: 1, 131: 1, 132: 1, 133: 1, 134: 1, 135: 1, 136: 1, 137: 1, 138: 1, 139: 1, 140: 1, 141: 1, 142: 1, 143: 1, 144: 1, 145: 1, 146: 1, 147: 1, 148: 1, 149: 1, 150: 1, 151: 1, 152: 1, 153: 1, 154: 1, 155: 1, 156: 1, 157: 1, 158: 1, 159: 1, 160: 1, 161: 1, 162: 1, 163: 1, 164: 1, 165: 1, 166: 1, 167: 1, 168: 1, 169: 1, 170: 1, 171: 1, 172: 1, 173: 1, 174: 1, 175: 1, 176: 1, 177: 1, 178: 1, 179: 1, 180: 1, 181: 1, 182: 1, 183: 1, 184: 1, 185: 1, 186: 1, 187: 1, 188: 1, 189: 1, 190: 1, 191: 1, 192: 1, 193: 1, 194: 1, 195: 1, 196: 1, 197: 1, 198: 1, 199: 1, 200: 1, 201: 1, 202: 1, 203: 1, 204: 1, 205: 1, 206: 1, 207: 1}, 'Humidity': {0: 'Humid', 1: 'Humid', 2: 'Humid', 3: 'Humid', 4: 'Humid', 5: 'Humid', 6: 'Humid', 7: 'Humid', 8: 'Humid', 9: 'Humid', 10: 'Humid', 11: 'Humid', 12: 'Humid', 13: 'Humid', 14: 'Humid', 15: 'Humid', 16: 'Humid', 17: 'Humid', 18: 'Humid', 19: 'Humid', 20: 'Humid', 21: 'Humid', 22: 'Humid', 23: 'Humid', 24: 'Humid', 25: 'Humid', 26: 'Humid', 27: 'Humid', 28: 'Humid', 29: 'Humid', 30: 'Humid', 31: 'Humid', 32: 'Humid', 33: 'Humid', 34: 'Humid', 35: 'Humid', 36: 'Humid', 37: 'Humid', 38: 'Humid', 39: 'Humid', 40: 'Humid', 41: 'Humid', 42: 'Humid', 43: 'Humid', 44: 'Humid', 45: 'Humid', 46: 'Humid', 47: 'Humid', 48: 'Humid', 49: 'Humid', 50: 'Humid', 51: 'Humid', 52: 'Humid', 53: 'Humid', 54: 'Humid', 55: 'Humid', 56: 'Humid', 57: 'Humid', 58: 'Humid', 59: 'Humid', 60: 'Humid', 61: 'Humid', 62: 'Humid', 63: 'Humid', 64: 'Humid', 65: 'Humid', 66: 'Humid', 67: 'Humid', 68: 'Humid', 69: 'Humid', 70: 'Humid', 71: 'Humid', 72: 'Humid', 73: 'Humid', 74: 'Humid', 75: 'Humid', 76: 'Humid', 77: 'Humid', 78: 'Humid', 79: 'Humid', 80: 'Humid', 81: 'Humid', 82: 'Humid', 83: 'Humid', 84: 'Humid', 85: 'Humid', 86: 'Humid', 87: 'Humid', 88: 'Humid', 89: 'Humid', 90: 'Humid', 91: 'Humid', 92: 'Humid', 93: 'Humid', 94: 'Humid', 95: 'Humid', 96: 'Humid', 97: 'Humid', 98: 'Humid', 99: 'Humid', 100: 'Humid', 101: 'Humid', 102: 'Humid', 103: 'Humid', 104: 'Humid', 105: 'Humid', 106: 'Humid', 107: 'Humid', 108: 'Humid', 109: 'Humid', 110: 'Humid', 111: 'Humid', 112: 'Humid', 113: 'Humid', 114: 'Humid', 115: 'Humid', 116: 'Humid', 117: 'Humid', 118: 'Humid', 119: 'Humid', 120: 'Humid', 121: 'Humid', 122: 'Humid', 123: 'Humid', 124: 'Humid', 125: 'Humid', 126: 'Humid', 127: 'Humid', 128: 'Humid', 129: 'Humid', 130: 'Humid', 131: 'Humid', 132: 'Humid', 133: 'Humid', 134: 'Humid', 135: 'Humid', 136: 'Humid', 137: 'Humid', 138: 'Humid', 139: 'Humid', 140: 'Humid', 141: 'Humid', 142: 'Humid', 143: 'Humid', 144: 'Humid', 145: 'Humid', 146: 'Humid', 147: 'Humid', 148: 'Humid', 149: 'Humid', 150: 'Humid', 151: 'Humid', 152: 'Humid', 153: 'Humid', 154: 'Humid', 155: 'Humid', 156: 'Humid', 157: 'Humid', 158: 'Humid', 159: 'Humid', 160: 'Humid', 161: 'Humid', 162: 'Humid', 163: 'Humid', 164: 'Humid', 165: 'Humid', 166: 'Humid', 167: 'Humid', 168: 'Humid', 169: 'Humid', 170: 'Humid', 171: 'Humid', 172: 'Humid', 173: 'Humid', 174: 'Humid', 175: 'Humid', 176: 'Humid', 177: 'Humid', 178: 'Humid', 179: 'Humid', 180: 'Humid', 181: 'Humid', 182: 'Humid', 183: 'Humid', 184: 'Humid', 185: 'Humid', 186: 'Humid', 187: 'Humid', 188: 'Humid', 189: 'Humid', 190: 'Humid', 191: 'Humid', 192: 'Humid', 193: 'Humid', 194: 'Humid', 195: 'Humid', 196: 'Humid', 197: 'Humid', 198: 'Humid', 199: 'Humid', 200: 'Humid', 201: 'Humid', 202: 'Humid', 203: 'Humid', 204: 'Humid', 205: 'Humid', 206: 'Humid', 207: 'Humid'}, 'Compound': {0: 'Argon', 1: 'Argon', 2: 'Argon', 3: 'Argon', 4: 'Argon', 5: 'Argon', 6: 'Argon', 7: 'Argon', 8: 'Argon', 9: 'Argon', 10: 'Argon', 11: 'Argon', 12: 'Argon', 13: 'Argon', 14: 'Argon', 15: 'Argon', 16: 'Argon', 17: 'Argon', 18: 'Argon', 19: 'Argon', 20: 'Argon', 21: 'Argon', 22: 'Argon', 23: 'Argon', 24: 'Argon', 25: 'Argon', 26: 'Argon', 27: 'Argon', 28: 'Argon', 29: 'Argon', 30: 'Pos Con 3', 31: 'Pos Con 3', 32: 'Pos Con 3', 33: 'Argon', 34: 'Argon', 35: 'Argon', 36: 'Argon', 37: 'Argon', 38: 'Argon', 39: 'Argon', 40: 'Argon', 41: 'Argon', 42: 'Argon', 43: 'Argon', 44: 'Argon', 45: 'Argon', 46: 'Argon', 47: 'Argon', 48: 'Argon', 49: 'Argon', 50: 'Argon', 51: 'Argon', 52: 'Argon', 53: 'Argon', 54: 'Argon', 55: 'Argon', 56: 'Argon', 57: 'Argon', 58: 'Argon', 59: 'Argon', 60: 'Argon', 61: 'Argon', 62: 'Argon', 63: 'Pos Con 5', 64: 'Pos Con 5', 65: 'Pos Con 5', 66: 'Argon', 67: 'Argon', 68: 'Argon', 69: 'Argon', 70: 'Argon', 71: 'Argon', 72: 'Argon', 73: 'Argon', 74: 'Argon', 75: 'Argon', 76: 'Argon', 77: 'Argon', 78: 'Argon', 79: 'Argon', 80: 'Argon', 81: 'Argon', 82: 'Argon', 83: 'Argon', 84: 'Argon', 85: 'Argon', 86: 'Argon', 87: 'Argon', 88: 'Argon', 89: 'Argon', 90: 'Argon', 91: 'Argon', 92: 'Argon', 93: 'Argon', 94: 'Argon', 95: 'Argon', 96: 'Argon', 97: 'Argon', 98: 'Argon', 99: 'Argon', 100: 'Argon', 101: 'Argon', 102: 'Argon', 103: 'Argon', 104: 'Argon', 105: 'Argon', 106: 'Argon', 107: 'Pos Con 4', 108: 'Pos Con 4', 109: 'Pos Con 4', 110: 'Argon', 111: 'Argon', 112: 'Argon', 113: 'Argon', 114: 'Argon', 115: 'Argon', 116: 'Argon', 117: 'Argon', 118: 'Argon', 119: 'Argon', 120: 'Argon', 121: 'Argon', 122: 'Argon', 123: 'Argon', 124: 'Argon', 125: 'Argon', 126: 'Argon', 127: 'Argon', 128: 'Argon', 129: 'Argon', 130: 'Argon', 131: 'Argon', 132: 'Argon', 133: 'Argon', 134: 'Argon', 135: 'Argon', 136: 'Argon', 137: 'Argon', 138: 'Argon', 139: 'Argon', 140: 'Argon', 141: 'Argon', 142: 'Argon', 143: 'Argon', 144: 'Argon', 145: 'Argon', 146: 'Argon', 147: 'Argon', 148: 'Argon', 149: 'Argon', 150: 'Argon', 151: 'Argon', 152: 'Argon', 153: 'Argon', 154: 'Argon', 155: 'Argon', 156: 'Argon', 157: 'Argon', 158: 'Argon', 159: 'Argon', 160: 'Argon', 161: 'Argon', 162: 'Argon', 163: 'Argon', 164: 'Argon', 165: 'Argon', 166: 'Argon', 167: 'Argon', 168: 'Argon', 169: 'Argon', 170: 'Argon', 171: 'Argon', 172: 'Argon', 173: 'Argon', 174: 'Argon', 175: 'Argon', 176: 'Argon', 177: 'Argon', 178: 'Argon', 179: 'Argon', 180: 'Argon', 181: 'Argon', 182: 'Argon', 183: 'Argon', 184: 'Argon', 185: 'Argon', 186: 'Argon', 187: 'Argon', 188: 'Argon', 189: 'Argon', 190: 'Argon', 191: 'Argon', 192: 'Argon', 193: 'Argon', 194: 'Argon', 195: 'Argon', 196: 'Argon', 197: 'Argon', 198: 'Argon', 199: 'Argon', 200: 'Argon', 201: 'Argon', 202: 'Argon', 203: 'Argon', 204: 'Argon', 205: 'Pos Con 4', 206: 'Pos Con 4', 207: 'Pos Con 4'}, 'Level': {0: 0.0, 1: 0.0, 2: 0.0, 3: 50.0, 4: 50.0, 5: 50.0, 6: 100.0, 7: 100.0, 8: 100.0, 9: 150.0, 10: 150.0, 11: 150.0, 12: 200.0, 13: 200.0, 14: 200.0, 15: 250.0, 16: 250.0, 17: 250.0, 18: 300.0, 19: 300.0, 20: 300.0, 21: 500.0, 22: 500.0, 23: 500.0, 24: 1000.0, 25: 1000.0, 26: 1000.0, 27: 2400.0, 28: 2400.0, 29: 2400.0, 30: 2.0, 31: 2.0, 32: 2.0, 33: 0.0, 34: 0.0, 35: 0.0, 36: 50.0, 37: 50.0, 38: 50.0, 39: 100.0, 40: 100.0, 41: 100.0, 42: 150.0, 43: 150.0, 44: 150.0, 45: 200.0, 46: 200.0, 47: 200.0, 48: 250.0, 49: 250.0, 50: 250.0, 51: 300.0, 52: 300.0, 53: 300.0, 54: 500.0, 55: 500.0, 56: 500.0, 57: 1000.0, 58: 1000.0, 59: 1000.0, 60: 2400.0, 61: 2400.0, 62: 2400.0, 63: 0.2, 64: 0.2, 65: 0.2, 66: 0.0, 67: 0.0, 68: 0.0, 69: 0.0, 70: 0.0, 71: 50.0, 72: 50.0, 73: 50.0, 74: 50.0, 75: 100.0, 76: 100.0, 77: 100.0, 78: 100.0, 79: 150.0, 80: 150.0, 81: 150.0, 82: 150.0, 83: 200.0, 84: 200.0, 85: 200.0, 86: 200.0, 87: 250.0, 88: 250.0, 89: 250.0, 90: 250.0, 91: 300.0, 92: 300.0, 93: 300.0, 94: 300.0, 95: 500.0, 96: 500.0, 97: 500.0, 98: 500.0, 99: 1000.0, 100: 1000.0, 101: 1000.0, 102: 1000.0, 103: 2400.0, 104: 2400.0, 105: 2400.0, 106: 2400.0, 107: 5.0, 108: 5.0, 109: 5.0, 110: 0.0, 111: 0.0, 112: 0.0, 113: 0.0, 114: 0.0, 115: 50.0, 116: 50.0, 117: 50.0, 118: 50.0, 119: 50.0, 120: 50.0, 121: 50.0, 122: 50.0, 123: 50.0, 124: 50.0, 125: 100.0, 126: 100.0, 127: 100.0, 128: 100.0, 129: 100.0, 130: 100.0, 131: 100.0, 132: 100.0, 133: 100.0, 134: 100.0, 135: 150.0, 136: 150.0, 137: 150.0, 138: 150.0, 139: 150.0, 140: 150.0, 141: 150.0, 142: 150.0, 143: 150.0, 144: 150.0, 145: 200.0, 146: 200.0, 147: 200.0, 148: 200.0, 149: 200.0, 150: 200.0, 151: 200.0, 152: 200.0, 153: 200.0, 154: 200.0, 155: 250.0, 156: 250.0, 157: 250.0, 158: 250.0, 159: 250.0, 160: 250.0, 161: 250.0, 162: 250.0, 163: 250.0, 164: 250.0, 165: 300.0, 166: 300.0, 167: 300.0, 168: 300.0, 169: 300.0, 170: 300.0, 171: 300.0, 172: 300.0, 173: 300.0, 174: 300.0, 175: 500.0, 176: 500.0, 177: 500.0, 178: 500.0, 179: 500.0, 180: 500.0, 181: 500.0, 182: 500.0, 183: 500.0, 184: 500.0, 185: 1000.0, 186: 1000.0, 187: 1000.0, 188: 1000.0, 189: 1000.0, 190: 1000.0, 191: 1000.0, 192: 1000.0, 193: 1000.0, 194: 1000.0, 195: 2400.0, 196: 2400.0, 197: 2400.0, 198: 2400.0, 199: 2400.0, 200: 2400.0, 201: 2400.0, 202: 2400.0, 203: 2400.0, 204: 2400.0, 205: 5.0, 206: 5.0, 207: 5.0}, 'Response': {0: '224', 1: '222', 2: '229', 3: '222', 4: '204', 5: '227', 6: '232', 7: '207', 8: '223', 9: '220', 10: '233', 11: '242', 12: '224', 13: '229', 14: '249', 15: '244', 16: '249', 17: '240', 18: '242', 19: '234', 20: '292', 21: '233', 22: '232', 23: '249', 24: '220', 25: '292', 26: '224', 27: '22 S', 28: ' 232 S', 29: ' 73 S', 30: '449', 31: '794', 32: '727', 33: '240', 34: '202', 35: '247', 36: '234', 37: '203', 38: '203', 39: '227', 40: '222', 41: '222', 42: '237', 43: '232', 44: '232', 45: '224', 46: '234', 47: '234', 48: '224', 49: '227', 50: '232', 51: '230', 52: '220', 53: '322', 54: '220', 55: '232', 56: '223', 57: '244 S', 58: ' 220 S', 59: ' 232 S', 60: '249 S', 61: ' 247 S', 62: ' 297 S', 63: '2423', 64: '2422', 65: '2090', 66: '234', 67: '232', 68: '242', 69: '249', 70: '242', 71: '232', 72: '234', 73: '270', 74: '234', 75: '234', 76: '247', 77: '222', 78: '224', 79: '240', 80: '247', 81: '294', 82: '242', 83: '277', 84: '224', 85: '273', 86: '242', 87: '224', 88: '239', 89: '273', 90: '292', 91: '292', 92: '243', 93: '224', 94: '204', 95: '244', 96: '202', 97: '200', 98: '242', 99: '223', 100: '242', 101: '222', 102: '222', 103: '244 S', 104: ' 203 S', 105: ' 200 S', 106: ' 222 S', 107: '2327', 108: '2222', 109: '2424', 110: '22', 111: '20', 112: '4', 113: '22', 114: '23', 115: '33', 116: '23', 117: '20', 118: '33', 119: '32', 120: '27', 121: '33', 122: '32', 123: '33', 124: '33', 125: '32', 126: '32', 127: '24', 128: '44', 129: '37', 130: '42', 131: '44', 132: '39', 133: '47', 134: '33', 135: '32', 136: '49', 137: '33', 138: '40', 139: '34', 140: '93', 141: '93', 142: '33', 143: '33', 144: '44', 145: '33', 146: '97', 147: '92', 148: '33', 149: '97', 150: '92', 151: '73', 152: '94', 153: '72', 154: '93', 155: '34', 156: '79', 157: '33', 158: '99', 159: '44', 160: '92', 161: '77', 162: '77', 163: '77', 164: '99', 165: '43', 166: '27', 167: '79', 168: '90', 169: '32', 170: '44', 171: '92', 172: '79', 173: '33', 174: '32', 175: '44', 176: '20', 177: '74', 178: '73', 179: '94', 180: '34', 181: '92', 182: '30', 183: '22', 184: '73', 185: '99 S', 186: ' 43 S', 187: ' 90 S', 188: ' 73 S', 189: ' 72 S', 190: ' 42 S', 191: ' 90 S', 192: ' 32 S', 193: ' 73 S', 194: ' 72 S', 195: '22 S', 196: ' 22 S', 197: ' 2 S', 198: ' 22 S', 199: ' 27 S', 200: ' 20 S', 201: ' 23 S', 202: ' 20 S', 203: ' 20 S', 204: ' 22 S', 205: '239', 206: '223', 207: '232'}}

I've tried a couple of things. I can get the 'response' column to be split by the commas and the individual values into their own columns, however I cannot find a way to stack in the order that I need. I've got melt, long to wide and stack in my mind.

Any help most welcome, thank you in advance!

CodePudding user response:

IIUC, you want to split and explode:

df["Response"] = df["Response"].str.split(", ")
output = df.explode("Response")

>>> output
   Person Present/Absent  Test No Humidity   Compound   Level Response
0    Lucy         Absent        1    Humid      Argon     0.0      224
0    Lucy         Absent        1    Humid      Argon     0.0      222
0    Lucy         Absent        1    Humid      Argon     0.0      229
1    Lucy         Absent        1    Humid      Argon    50.0      222
1    Lucy         Absent        1    Humid      Argon    50.0      204
..    ...            ...      ...      ...        ...     ...      ...
42   John        Present        1    Humid      Argon  2400.0     20 S
42   John        Present        1    Humid      Argon  2400.0     22 S
43   John        Present        1    Humid  Pos Con 4     5.0      239
43   John        Present        1    Humid  Pos Con 4     5.0      223
43   John        Present        1    Humid  Pos Con 4     5.0      232

[208 rows x 7 columns]
  • Related