Pandas melt() 函数:将宽数据转换为长数据,并将列变量拆分为新列
假设原始数据如下所示:
A B1 B2 B3 0 1 4 7 10 1 2 5 8 11 2 3 6 9 12
使用pd.melt函数将宽数据转换为长数据,代码如下:
import pandas as pd
data = {'A': [1, 2, 3],
'B1': [4, 5, 6],
'B2': [7, 8, 9],
'B3': [10, 11, 12]}
df = pd.DataFrame(data)
df_long = pd.melt(df, id_vars=['A'], value_vars=['B1', 'B2', 'B3'], var_name='B', value_name='value')
print(df_long)
输出结果如下:
A B value 0 1 B1 4 1 2 B1 5 2 3 B1 6 3 1 B2 7 4 2 B2 8 5 3 B2 9 6 1 B3 10 7 2 B3 11 8 3 B3 12
在pd.melt函数中,id_vars参数指定要保留的列,value_vars参数指定要转换的列,var_name参数指定新列的名称,value_name参数指定新列中的值的名称。
原文地址: https://www.cveoy.top/t/topic/fvdY 著作权归作者所有。请勿转载和采集!