簡體   English   中英

比較 Pandas 數據框中的兩個值,如果它們相等,則添加它

[英]Compare two values in pandas dataframe and if they are equal add it

我有一個數據框,在對其進行分組時,我得到以下結果集。

Name | Score | Salary A | SALARY B
ABC  | 20    | 300      | 500
XYZ  | 30    | 400      | 600
PQR  | 40    | 300      | 500
TFW  | 50    | 0        | 0
OIP  | 60    | 0        | 0
QWE  | 50    | None     | None
UYT  | 40    | None     | None

我需要比較salaryA 和salaryB 的值(salaryA 與salaryA 和salaryB 與salaryB)。 如果薪水相同,那么我想對分數求和,否則我必須取分數的 MAX。

預期輸出

Name     | Score
ABC, PQR | 60
XYZ      | 30
TFW      | 50
OIP      | 60
QWE      | 50
UYT      | 40

我是這樣做的:

a = pd.read_csv('yourdata.dat',sep='|')
a['total'] = a.iloc[:,2] + a.iloc[:,3]
a.groupby('total').agg({'Name ':','.join,' Score ':'sum'}).reset_index()[['Name ',' Score ']]


         Name    Score 
0  ABC  ,PQR         60
1        XYZ         30

暫無
暫無

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

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