首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何应用基于另一列值的熊猫函数?

如何应用基于另一列值的熊猫函数?
EN

Stack Overflow用户
提问于 2018-10-25 11:11:56
回答 1查看 194关注 0票数 0

我有一个带有两个列的熊猫dataframe,一个列有一些字符串值,另一个列有空数据:

代码语言:javascript
运行
复制
ColA ColB
True  {}
False {}
True  {}
True  {}
False {}
False {}
True  {}

我有一个函数,它用其他值更新dict:

代码语言:javascript
运行
复制
def update_dict(a):
    return a.update({"VAL":["yes"]})

如何将上述函数应用于ColB单元格,这些单元格在其ColA中的旁边有“假”字符串?:

代码语言:javascript
运行
复制
ColA ColB
True  {}
False {"VAL":["yes"]}
True  {}
True  {}
False {"VAL":["yes"]}
False {"VAL":["yes"]}
True  {}

我知道在熊猫中你可以使用应用功能或应用程序。但是,我不知道如何根据前面的列值来实现它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-25 11:16:26

这是可能的,但不建议在列的值中使用dict,因为丢失了所有向量化函数:

代码语言:javascript
运行
复制
def update_dict(a):
    a.update({"VAL":["yes"]})
    return a

df['ColB'] = [update_dict(j) if i == 'False' else j for i, j in zip(df['ColA'], df['ColB'])]
print (df)
    ColA              ColB
0   True                {}
1  False  {'VAL': ['yes']}
2   True                {}
3   True                {}
4  False  {'VAL': ['yes']}
5  False  {'VAL': ['yes']}
6   True                {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52987904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档