我有一个数据框,其中有三列:
其中 Columnmodule
具有三个不同的值,每个值都有其FW_Version
和 ÒV_name`
我期待为这三个不同的值创建一个新列并打印FW_Version
下面的列,但应该与 ÒV_name` 对齐,如预期输出所示。
import pandas as pd
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)
#################################################################
df = pd.read_csv("InterconnectsReport_New.csv")
df = df.rename(columns={'Product Name': 'Modules', 'Firmware Version': 'FW_Version', 'Appliance': 'Óv_Name' })
df = df.drop(['Device Name', 'Enclosure'], axis=1)
#print(df['Modules'].unique())
print(df)
Modules FW_Version Óv_Name
0 Synergy 20Gb Interconnect Link Module 1.17 ov1001
1 Synergy 20Gb Interconnect Link Module 1.17 ov1001
2 Synergy 20Gb Interconnect Link Module 1.17 ov1001
3 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov1001
4 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov1001
5 Synergy 20Gb Interconnect Link Module 1.17 ov1001
6 Synergy 20Gb Interconnect Link Module 1.17 ov1002
7 Synergy 20Gb Interconnect Link Module 1.17 ov1002
8 Synergy 20Gb Interconnect Link Module 1.17 ov1002
9 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov1002
10 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov1002
11 Synergy 20Gb Interconnect Link Module 1.17 ov1002
18 Synergy 20Gb Interconnect Link Module 1.18 ov1004
19 Synergy 20Gb Interconnect Link Module 1.18 ov1004
20 Synergy 20Gb Interconnect Link Module 1.18 ov1004
21 Virtual Connect SE 40Gb F8 Module for Synergy 1.5.0.1004 ov1004
22 Virtual Connect SE 40Gb F8 Module for Synergy 1.5.0.1004 ov1004
23 Synergy 20Gb Interconnect Link Module 1.18 ov1004
30 Synergy 20Gb Interconnect Link Module 1.18 ov1006
31 Synergy 20Gb Interconnect Link Module 1.18 ov1006
32 Synergy 20Gb Interconnect Link Module 1.18 ov1006
33 Virtual Connect SE 40Gb F8 Module for Synergy 1.6.1.1002 ov1006
34 Virtual Connect SE 40Gb F8 Module for Synergy 1.6.1.1002 ov1006
35 Synergy 20Gb Interconnect Link Module 1.18 ov1006
36 Synergy 20Gb Interconnect Link Module 1.17 ov2001
37 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2001
38 Synergy 20Gb Interconnect Link Module 1.17 ov2001
39 Synergy 20Gb Interconnect Link Module 1.17 ov2001
40 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2001
41 Synergy 20Gb Interconnect Link Module 1.17 ov2001
42 Synergy 20Gb Interconnect Link Module 1.17 ov2002
43 Synergy 20Gb Interconnect Link Module 1.17 ov2002
44 Synergy 20Gb Interconnect Link Module 1.17 ov2002
45 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2002
46 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2002
47 Synergy 20Gb Interconnect Link Module 1.17 ov2002
48 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2003
49 Synergy 20Gb Interconnect Link Module 1.17 ov2003
50 Synergy 20Gb Interconnect Link Module 1.17 ov2003
51 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2003
52 Synergy 20Gb Interconnect Link Module 1.17 ov2003
53 Synergy 20Gb Interconnect Link Module 1.17 ov2003
54 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2004
55 Synergy 20Gb Interconnect Link Module 1.17 ov2004
56 Synergy 20Gb Interconnect Link Module 1.17 ov2004
57 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2004
58 Synergy 20Gb Interconnect Link Module 1.17 ov2004
59 Synergy 20Gb Interconnect Link Module 1.17 ov2004
60 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2005
61 Synergy 20Gb Interconnect Link Module 1.17 ov2005
62 Synergy 20Gb Interconnect Link Module 1.17 ov2005
63 Virtual Connect SE 40Gb F8 Module for Synergy 1.4.2.1005 ov2005
64 Synergy 20Gb Interconnect Link Module 1.17 ov2005
65 Synergy 20Gb Interconnect Link Module 1.17 ov2005
以下是列的三个唯一值
'Synergy 20Gb Interconnect Link Module'
'Virtual Connect SE 40Gb F8 Module for Synergy'
'Synergy 12Gb SAS Connection Module'
Ó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
使用DataFrame.drop_duplicates
有DataFrame.pivot
:
df1 = (df.drop_duplicates(subset=['Modules', 'Óv_Name'])
.pivot('Óv_Name', 'Modules', 'FW_Version'))
另一个想法,如果重复的 perÓv_Name, Modules
具有相同的值,FW_Version
则可能使用:
df2 = df.pivot_table(index='Óv_Name',
columns='Modules',
values='FW_Version', aggfunc='first')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句