首页 > 解决方案 > 如何能够将列的值与 DataFrame 中其他列的名称连接起来

问题描述

如何能够将名为“ITEM”的列的值与其他列的名称连接起来,从而创建新列。

如果我有这样的数据框:

import pandas as pd

df = pd.DataFrame({
    'ITEM': ['Item1', 'Item2', 'Item3'],
    'Variable1': [1,1,2],
    'Variable2': [2,1,3],
    'Variable3':[3,2,4]

})
df

我需要转换这个数据框:

在此处输入图像描述

在那个数据框上:

在此处输入图像描述

标签: pythonpandasdataframeconcatenation

解决方案


import pandas as pd

df = pd.DataFrame({
    'ITEM': ['Item1', 'Item2', 'Item3'],
    'Variable1': [1,1,2],
    'Variable2': [2,1,3],
    'Variable3':[3,2,4]

})

df = pd.melt(df, id_vars='ITEM',value_vars=['Variable1','Variable2','Variable3'])
df['title'] = df['variable']+'_'+df['ITEM']
df = df[['title','value']].T
df.columns = df.iloc[0]
df = df[1:]

推荐阅读