簡體   English   中英

根據另一個 dataframe 替換列中的值

[英]Replace values in a column based on another dataframe

我有一張桌子:

Name        Profession         Character
Ben         cinematographer    Nan
Scarlett    actress            Black Widow
Robert      actor              Iron Man
Chris       actor              Thor
Kevin       producer           Nan

我創建了一個新數據框,其中包含一列從上表升序排列的唯一值和一個增量列

ID    Job
1      actor
2      actress
3      cinematographer
4      producer

現在我需要用新表 Desired Output 中的相應 ID 替換原始表中的專業列中的值

Name        Profession         Character
Ben         3                  Nan
Scarlett    2                  Black Widow
Robert      1                  Iron Man
Chris       1                  Thor
Kevin       4                  Nan

code so far
df=pdf.read_csv(filename)
column = df['Profession'].unique()
new_df=pd.DataFrame(column, columns=['Job])
new_df=new_df.sort_values(['Job'])
new_df = new_df.reset_index()
new_df.columns.values[0] = 'ID'
new_df['ID'] = new_df.index + 1
df.loc[df['Profession] == new_df['Job'], 'Profession'] = new_df['ID']

The last line yeilds 'ValueError: Can only compare identically-labeled Series objects'

然后嘗試replace

df1.Profession = df1.Profession.replace(df2.set_index('Job').ID)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM