转置 DF 中的单个列
Transpose a single column in DF
我有table
{'name': {0: 'Result 1',
1: 'Result 2',
2: 'Result 1',
3: 'Result 2'},
'value': {0: '255.00', 1: '260.00', 2: '255.00', 3: '260.00'},
'Result 3': {0: 325, 1: 325, 2: 285, 3: 285},
'batchnumber': {0: '59530', 1: '59530', 2: '59534', 3: '59534'}}
我要做的转置是单列转置
index
name
value
batchnumber
0
Result 1
255.00
59534
1
Result 2
260.00
59534
2
Result 3
285.00
59534
3
Result 1
255.00
59530
4
Result 2
260.00
59530
5
Result 3
325.00
59530
我试过转轴
df.pivot(index='Result 3', columns='name', values='batchnumber')
df = df.transpose()
你可以pivot_wider然后融化。在这种情况下,您会得到相同的结果,但行数不匹配
df.pivot(['batchnumber', 'Result 3'],'name', 'value').reset_index().melt('batchnumber')
batchnumber name value
0 59530 Result 3 325.0
1 59534 Result 3 285.0
2 59530 Result 1 255.0
3 59534 Result 1 255.0
4 59530 Result 2 260.0
5 59534 Result 2 260.0
你可以在融化前分类:
(df.pivot(['batchnumber', 'Result 3'],'name', 'value')
.reset_index()
.sort_index(axis=1)
.melt('batchnumber'))
batchnumber name value
0 59530 Result 1 255.0
1 59534 Result 1 255.0
2 59530 Result 2 260.0
3 59534 Result 2 260.0
4 59530 Result 3 325.0
5 59534 Result 3 285.0
我有table
{'name': {0: 'Result 1',
1: 'Result 2',
2: 'Result 1',
3: 'Result 2'},
'value': {0: '255.00', 1: '260.00', 2: '255.00', 3: '260.00'},
'Result 3': {0: 325, 1: 325, 2: 285, 3: 285},
'batchnumber': {0: '59530', 1: '59530', 2: '59534', 3: '59534'}}
我要做的转置是单列转置
index | name | value | batchnumber |
---|---|---|---|
0 | Result 1 | 255.00 | 59534 |
1 | Result 2 | 260.00 | 59534 |
2 | Result 3 | 285.00 | 59534 |
3 | Result 1 | 255.00 | 59530 |
4 | Result 2 | 260.00 | 59530 |
5 | Result 3 | 325.00 | 59530 |
我试过转轴
df.pivot(index='Result 3', columns='name', values='batchnumber')
df = df.transpose()
你可以pivot_wider然后融化。在这种情况下,您会得到相同的结果,但行数不匹配
df.pivot(['batchnumber', 'Result 3'],'name', 'value').reset_index().melt('batchnumber')
batchnumber name value
0 59530 Result 3 325.0
1 59534 Result 3 285.0
2 59530 Result 1 255.0
3 59534 Result 1 255.0
4 59530 Result 2 260.0
5 59534 Result 2 260.0
你可以在融化前分类:
(df.pivot(['batchnumber', 'Result 3'],'name', 'value')
.reset_index()
.sort_index(axis=1)
.melt('batchnumber'))
batchnumber name value
0 59530 Result 1 255.0
1 59534 Result 1 255.0
2 59530 Result 2 260.0
3 59534 Result 2 260.0
4 59530 Result 3 325.0
5 59534 Result 3 285.0