熊猫是新来的,所以请容忍我。在
我有一个文本处理函数,我想在datafame中的一列上运行,条件是另一列中的值。我见过
根据某个对象是否被标记,我想对其运行翻译函数。在
account article ... translation flag
0 123 text ... 1
1 123 text ... 0
2 123 text ... 1
我试过了:
df['translation'] = df[['flag', 'text']].apply(lambda x: translate(['article']) if ['flag'] == 1 else None)
作为回报:
^{pr2}$任何帮助或指导将不胜感激。在
IIUC,你可以试试}
map
和{我使用了一个类似于您的测试数据帧,没有翻译列:
然后我定义了一个“代理”函数:
^{pr2}$要有条件地调用它,请运行:
结果是:
您的代码有什么问题:
如果要将源数据限制为列的子集,请使用existing 列名(article而不是text)并包括使用的所有列 在应用函数中。
lambda函数应用于每个行,因此您应该传递 轴=1参数(默认轴为0)。
调用函数时,当前行作为参数传递 (x),但要引用其中的某个列,您应该使用x.column\u name 符号。E、 g.我的解决方案也可以是:
像['article']这样的参数在这里只是一个包含一个列表的 word(文章)。我怀疑你的翻译功能是否能 处理列表参数。
关于if['flag']的类似评论。。。。这是不是参考 源行中的列。
相关问题 更多 >
编程相关推荐