我希望你一切都好。我有一个关于 Python 中的 DataFrame 的问题。
我想过滤并创建一个新的数据框,它仅根据以下条件保留行:
- 如果是创始人,则保留行
- 如果找不到创始人,则找到联合创始人
- 如果找不到联合创始人,则担任董事会成员
- 如果找不到董事会成员,则寻找董事会成员 CFO
从数据框中删除所有其他行。请注意,每个公司只能有 1 行。
因此我希望得到以下输出:
我确信有一种方法可以使用循环函数来做到这一点,但是由于我对 Python 很陌生,这对我来说仍然非常困难。我愿意使用所有库,例如 pandas 和 numpy。请尽可能清楚地解释您的代码。
希望尽快收到您的来信。谢谢您,如果我的问题不清楚,请告诉我。
最佳答案
您可以在此处使用pd.Category
:
df['Job Title'] = pd.Categorical(df['Job Title'].str.strip(),
categories=['Founder', 'Co-Founder', 'Board Member', 'CFO'],
ordered=True
)
df.sort_values(['Job Title']).drop_duplicates('Company').dropna()
输出:
Company Job Title Person Name
0 Apple Founder Steve Jobs
2 Microsoft Founder Bill Gates
4 Paypal Co-Founder Peter Thiel
5 Tesla Board Member Larry Ellison
关于python - 基于多个条件对 DataFrame 进行切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65223816/