在 Pandas 中创建 If-Else-Else 条件列
在处理数据时,通常需要根据特定条件创建新列状况。 Pandas 提供了一种简化此过程的语法,允许您一步定义 if-elif-else 条件。
为了说明这一点,让我们考虑以下 DataFrame:
A B a 2 2 b 3 1 c 1 3
我们想要创建遵循以下条件的新列“C”:
使用自定义函数
一种方法是定义一个自定义函数来评估每一行的这些条件:<code class="python">def my_function(row): if row['A'] == row['B']: return 0 elif row['A'] > row['B']: return 1 else: return -1</code>
<code class="python">df['C'] = df.apply(my_function, axis=1)</code>
向量化方法
为了获得更高效的矢量化解决方案,我们可以使用 NumPy 的 np.where 函数以及 pandas 的逻辑索引:<code class="python">df['C'] = np.where( df['A'] == df['B'], 0, np.where( df['A'] > df['B'], 1, -1))</code>
A B C a 2 2 0 b 3 1 1 c 1 3 -1
以上是如何在 Pandas 中创建 If-Else-Else 条件列?的详细内容。更多信息请关注PHP中文网其他相关文章!