【发布时间】:2022-11-06 23:12:17
【问题描述】:
在我通过 SQL 创建的一张 Excel 文件中,我有 3 列代表字母等级。评级值在评级 1、2 和 3 之间可能不同,但它们仍然可以使用相同的值进行排名。
我正在尝试在我的 Excel 文件中创建一个新列,该列可以采用这 3 个字母评级并拉出中间评级。
ranking | Rating_1 | Rating_2 | Rating_3 | NEW_COLUMN |
(1 lowest) | -------- | -------- | -------- | -------- |
3 | A+ | AA | Aa | middle(rating)|
2 | B+ | BB | Bb | middle(rating)|
1 | Fa | Fb | Fc | middle(rating)|
| -------- | -------- | -------- | --------- |
我需要考虑三种情况:
- 如果所有三个评级都不同,请在评级_1、评级_2 和评级_3 之间选择不是最高评级或最低评级的评级
- 如果所有三个等级都相同,请在 rating_1 上选择等级
- 如果有 2 个评级相同,但有一个不同,则选择最低评级
我创建了一个数据框:
df = pd.DataFrame( {"Rating_1": ["A+", "AA", "Aa"], "Rating_2": ["B+", "BB", "Bb"], "Rating_3": ["Fa", "Fb", "Fc"]} ) df["NEW COLUMN"] = {insert logic here}还是更容易创建一个过滤掉原始 DF 的新 DF?
【问题讨论】:
标签: python pandas dataframe conditional-statements