import pandas as pd
# Initialize example input dataframe
col_names = ['id', '1', 'value1', '2', 'value2', '3', 'value3']
data = [
[1, 'ph', 7, 'temp', 44, 'cond', 3],
[2, 'temp', 45, 'cond', 5, 'ph', 5],
[3, 'temp', 12, 'ph', 5, 'cond', 8],
]
df = pd.DataFrame(data, columns=col_names)
# Reshape dataframe
df2 = pd.concat([
df[['id', '1', 'value1']].rename(columns={'1': 'parameter', 'value1': 'value'}),
df[['id', '2', 'value2']].rename(columns={'2': 'parameter', 'value2': 'value'}),
df[['id', '3', 'value3']].rename(columns={'3': 'parameter', 'value3': 'value'}),
])
df2 = df2.pivot(index='id', columns='parameter', values='value')
дает в результате:
In [3]: df2
Out[3]:
parameter cond ph temp
id
1 3 7 44
2 5 5 45
3 8 5 12