gpt4 book ai didi

Python pandas - 访问其他列的 lambda 函数

转载 作者:行者123 更新时间:2023-12-04 02:36:22 24 4
gpt4 key购买 nike

我在 Pandas 中有以下表格/数据框)

+-------------------------------+---------------+
| Col_1 | Col_2 |
+-------------------------------+---------------+
| ['Apple', 'Coffee', 'Banana'] | [Food] |
| ['Apple'] | [Drink] |
| [] | [Clothes] |
| [] | [Food] |
| ['Apple', 'Orange'] | [Food] |
| ['Apple', 'Orange'] | [Stuff, Food] |
+-------------------------------+---------------+

我想要一种方法来复制 Col_2(同一行)中的值 当且仅当 len(x) == 0 在 Col_1 中。

因此期望的结果是:

+-------------------------------+---------------+
| Col_1 | Col_2 |
+-------------------------------+---------------+
| ['Apple', 'Coffee', 'Banana'] | [Food] |
| ['Apple'] | [Drink] |
| [Clothes] | [Clothes] |
| [Food] | [Food] |
| ['Apple', 'Orange'] | [Food] |
| ['Apple', 'Orange'] | [Stuff, Food] |
+-------------------------------+---------------+

最佳答案

看起来像一个简单的loc赋值

m = df['Col_1'].str.len().eq(0)
df.loc[m, 'Col_1'] = df.loc[m, 'Col_2']

即使没有 rhs loc 也应该可以工作,因为 pandas 在分配 pd.Series 时默认会进行索引匹配。

df.loc[m, 'Col_1'] = df['Col_2']

关于Python pandas - 访问其他列的 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61666414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com