我有一个包含两列的数据帧一个字符串列&;一个整数列
column1 column2
abcdef 2
gtihj 4
jiuwq 3
我想要另一个column3,column1的值在col2位置,类似这样
column1 column2 column3
abcdef 2 b
gtihj 4 h
jiuwq 3 u
我尝试了以下代码
result['column1'].str.get(result['column2'])
但是下面的错误
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
生成错误的原因是
str.get
需要一个标量索引,而不是索引列表/iterable(它既不理解这种输入,也不知道如何处理它)在这种情况下,一个列表理解来拯救-
这个问题基本上很难矢量化,因此以C-speed运行的列表理解是一个非常有效的选择
较慢的替代方案包括(为了完整性),
apply
和
np.vectorize
:在这里展开想象……
这太麻烦了。使用cᴏʟᴅsᴘᴇᴇᴅ'理解。
这篇文章如何增加价值,是因为它验证了以更好的方式做这件事是非常重要的
相关问题 更多 >
编程相关推荐