Python 熊猫基于不同的列创建新列
我有一个数据框,其中有三列:Python 熊猫基于不同的列创建新列,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,其中有三列: 模块 FW_版本 Óv_名称 其中,模块列有三个不同的值,每个值都有其FW_版本和ÒV_名称` 我期待着为这三个不同的值创建一个新列,并在下面打印FW_版本,但应与ÒV_name`对齐,如预期输出所示 数据帧: 唯一值: 下面是列的三个唯一值 'Synergy 20Gb Interconnect Link Module' 'Virtual Connect SE 40Gb F8 Module for Synergy' 'Synergy 12Gb SAS Con
- 模块
- FW_版本
- Óv_名称
模块
列有三个不同的值,每个值都有其FW_版本
和ÒV_名称`
我期待着为这三个不同的值创建一个新列,并在下面打印FW_版本
,但应与ÒV_name`对齐,如预期输出所示
数据帧:
唯一值:
下面是列的三个唯一值
'Synergy 20Gb Interconnect Link Module'
'Virtual Connect SE 40Gb F8 Module for Synergy'
'Synergy 12Gb SAS Connection Module'
预期:
用于:
另一个想法是,如果每个Óv_名称重复,则模块
在FW_版本
中具有相同的值,则可以使用:
df2 = df.pivot_table(index='Óv_Name',
columns='Modules',
values='FW_Version', aggfunc='first')
正如我看到它返回的多索引一样,我们是否可以只打印所需的列,如
“v_Name”“Synergy 12Gb SAS连接模块”“Synergy 20Gb互连链接模块”“Synergy虚拟连接SE 40Gb F8模块”
@kulfi-Adddf2.reset_index().重命名_轴(无,轴=1)
Óv_Name Synergy 20Gb Interconnect Link Module Virtual Connect SE 40Gb F8 Module for Synergy Synergy 20Gb Interconnect Link Module
ov1001 1.17 1.4.2.1005 1.17
df1 = (df.drop_duplicates(subset=['Modules', 'Óv_Name'])
.pivot('Óv_Name', 'Modules', 'FW_Version'))
df2 = df.pivot_table(index='Óv_Name',
columns='Modules',
values='FW_Version', aggfunc='first')