python - 将新列数组添加到 Pandas 数据框中

标签 python pandas dataframe

如何将整数列表作为新列附加到 Pandas 数据框中的每一行?

我有一个数据框,我需要将 20 列整数序列附加为新列。用例是我使用 Tensorflow 将行单元格中的自然文本转换为某些 NLP 的向量序列。

但为了说明,我创建了一个简单的数据框来附加:

df = pd.DataFrame([(1, 2, 3),(11, 12, 13)])
df.head()

生成输出:

enter image description here

然后,对于每一行,我需要传递一个函数,该函数接受列“2”中的特定值,并将返回一个整数数组,这些整数需要作为数据帧中的列附加 - 而不是作为单个单元格中的数组:

def foo(x):
    return [x+1, x+2, x+3]

理想情况下,运行如下函数:

df[3, 4, 5] = df['2'].applyAsColumns(foo)

enter image description here

我能想到的唯一解决方案是创建包含 3 个空白列的数据框 [3,4,5] ,然后使用 for 循环进行迭代遍历空白列,然后将它们作为循环中的值输入。

这是最好的方法吗?或者 Pandas 中是否有内置的函数可以做到这一点?我尝试检查文档,但没有找到任何内容。

感谢任何帮助!

最佳答案

IIUC,

def foo(x):
    return pd.Series([x+1, x+2, x+3])

df = pd.DataFrame([(1, 2, 3),(11, 12, 13)])

df[[3,4,5]] = df[2].apply(foo)

df

输出:

    0   1   2   3   4   5
0   1   2   3   4   5   6
1  11  12  13  14  15  16

关于python - 将新列数组添加到 Pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59778612/

相关文章:

python - py2exe - 最大递归深度错误

python 多处理在几次迭代后挂起

Python - 在满足条件的特定日期后返回行

python - 如何使用 pandas python3 从 CSV 的中间名列中获取中间名首字母并写入新的 CSV

python - 合并组内连续的记录

对数据框中的行重新排序 (R)

r - 来自数据帧列表 R 的多个箱线图

python - 在 Python 中动态覆盖 __functions__

python - 遍历数据框的行并按组重新分配最小值

python - 平滑循环数据