【发布时间】:2021-07-10 05:05:18
【问题描述】:
我需要将两条记录合并为一条记录。我有一个 Billable 列值为“Yes”和“No”
如果值为“Yes”,那么它将逐行求和并创建新列为“Billable”
计费 = df[计费] * sum/168 * 100
如果值为“No”,那么它将逐行求和并创建新列为“Non-Billable”。
非计费 = df[非计费] * sum/ 168 * 100
数据:
|Employee Name | Java | Python | .Net | React | Billable|
|Priya | 10 | | 5 | | Yes |
|Priya | | 10 | | 5 | No |
|Krithi | | 10 | 20 | | No |
输出
Priya 可计费和不可计费,priya 名称出现在两行中。我需要在单行中与员工姓名合并。所以预期的输出应该是
| Employee Name | Java | Python |.Net | React | Total |Billing | Non-Billing|
| Priya | 10 | 10 | 5 | 5 | 30 |8.928571429 | 8.928571429|
| Krithi | 10 | 20 | | | 30 | | 17.85714286|
预期输出的可计费和不可计费数据应位于单行中。
但是我得到了两行 Billable 和 Non-Billable 的输出
total=df.sum(axis=1)
df.insert(len(df.columns),column='Total',value=total)
x = (Billable_cal.loc[:,:].sum(axis=1)/available*100).round(2)
df["Billing"] = np.where(df["Billable"] == "Yes", x, "")
df["Non Billing"] = np.where(df["Billable"] == "No", x, "")
【问题讨论】:
标签: python-3.x pandas dataframe numpy merge