如何在Pandas 身上做到这一点:

我在一个文本列上有一个函数extract_text_features,返回多个输出列.具体来说,该函数返回6个值.

该函数可以工作,但是似乎没有任何正确的返回类型(pandas DataFrame/numpy array/Python list),因此输出可以被正确地分配到df.ix[: ,10:16] = df.textcol.map(extract_text_features)

所以我想我需要退回到df.iterrows(),每this次迭代?

更新:

更新2:这个问题在可用性df.apply得到改进或df.assign()得到added in v0.16之前,大约在v0.11.0年前被问了回来.因此,大部分问题和答案都不太相关.

推荐答案

根据用户1827356的答案,您可以使用df.merge一次性完成分配:

df.merge(df.textcol.apply(lambda s: pd.Series({'feature1':s+1, 'feature2':s-1})), 
    left_index=True, right_index=True)

    textcol  feature1  feature2
0  0.772692  1.772692 -0.227308
1  0.857210  1.857210 -0.142790
2  0.065639  1.065639 -0.934361
3  0.819160  1.819160 -0.180840
4  0.088212  1.088212 -0.911788

EDIT: 请注意巨大的内存消耗和较低的速度:https://ys-l.github.io/posts/2015/08/28/how-not-to-use-pandas-apply/

Python相关问答推荐

Python计算目录及其所有子目录中的文件

sklearn patchextractor ...缺少元素

使用 python 将 messagePack 解析为 Json

在 Python3 中将非整数成员值添加到 IntEnum

如何将对称矩阵转换为邻接表

在 Python 中的变量后使用括号有什么作用?

反转Pandas 中的行值

'str' 对象没有属性 'apply' 与 sklearn

根据条件创建虚拟 DataFrame

在python中循环遍历图像中每个像素的更快方法?

Python:元组和单个浮点数的高效展开/展平列表

如何将一个模块导入另一个模块

如何在字符的最后一个实例之后对文本文件进行排序?

想要在 Python 中通过在 Excel 中使用 TINV 获得相同的结果

django查询中的月份值

在 django-rest-framework-simple-jwt 中使用三个字段进行身份验证

如何通过使用 Python OpenCV 去除噪音来检测复选框?

如何为txt文件中的每2行创建一个csv行

如何在python中获得列表的向前移动组合?

如何将 unicode 整数转换为 utf-8 字符?