熊猫数据框:如何将1和0的列合并到新列

时间:2018-10-02 13:46:08

标签: python pandas

我有一个如下所示的数据框

Company_Candidate_Dataframe

Candidate_Detail_Dataframe

Merged Dataframe

  

我正在尝试获取合并的DataFrame

我能够合并Company_Candidate_Dataframe and Candidate_Detail_Dataframe。但这不是我真正需要的。

我还考虑过从Company_Candidate_Dataframe创建字典并将其馈送到Candidate_Detail_Dataframe.apply(some lambda)

什么是更好的方法?

编辑:文本数据

    Candidate Google Netflix Microsoft Amazon Paypal

    John 0 0 1 0 0
    Mary 1 0 0 0 0
    Ravenshaw 0 1 0 0 0
    Lohan 1 0 0 0 0
    Nile 0 0 0 1 0

-------------------------

Candidate Id Address Score

John 1 ABC 13
Mary 2 XYZ 24
Ravenshaw 3 A1B1 90
Lohan 4 Lqw 102
Nile  5 Arou 23

1 个答案:

答案 0 :(得分:4)

这就是我要去的地方:

# Creating the dataframes
df1 = pd.DataFrame({'Candidate':['John', 'Mary', 'Ravenshaw', 'Lohan', 'Nile'], 'Google':[0,1,0,1,0], 'Netflix':[0,0,1,0,0], 'Microsoft':[1,0,0,0,0], 'Amazon':[0,0,0, 0, 1],'Paypal':[0,0,0,0,0]})
df1.set_index('Candidate', inplace=True)

df2 = pd.DataFrame({'Id':range(1,6), 'Address':['ABC', 'XYZ', 'A1B1', 'Lqw', 'Arou'], 'Score':[13,24,90,102,23], 'Candidate':['John', 'Mary', 'Ravenshaw', 'Lohan', 'Nile']})
df2.set_index('Candidate', inplace=True)

# Obtaining the company dataframe
df3 = df1.idxmax(axis=1)
df3.name = 'Company'

# Joining
df2.join(df3)

希望这会有所帮助。

为了使任务更容易回答,我要求您发布最少的工作代码。