python - 如何能够将列的值与 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
我需要转换这个数据框:
在那个数据框上:
解决方案
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:]
推荐阅读
- postcss - postcss-custom-properties 引用其他文件中的变量
- excel - 声明一组具有动态维度的数组
- c - 如何确定 23 个参数中哪个是 STATUS_INVALID_PARAMETER?
- css - 错误:模块`css`不提供视图引擎
- sql-server - 如何加入动态数量的视图
- javascript - 从循环中返回单个 resolve()
- xml - 对来自两个不同父母的项目进行分组/分页
- python - 从 kaggle 导入数据
- pdf - 在网页中显示通过 webRTC 发送的 pdf 文件的最安全方法是什么?
- c# - ASP.NET Core 托管的 Blazor 模板中的授权问题