代码之家  ›  专栏  ›  技术社区  ›  cooldood3490

将数据附加到Pandas数据帧

  •  0
  • cooldood3490  · 技术社区  · 6 年前

    我有以下pandas数据帧:

    df = pd.DataFrame({'A': [1, 2, 3, 7], 'B': [4, 5, 6, 29]})
    

    我正在开发一个for循环,它获取一个索引,然后将数据附加到该行的末尾。

    如何追加列 C , D , E 对于表的给定索引?假设在第一次迭代中,索引为2:

        A    B    C    D   E
    0   1    4    0    0   0
    1   2    5    0    0   0
    2   3    6    34   12  23
    3   7    29   0    0   0
    

    在for循环的下一次迭代中,索引可能是1。那么数据帧将是:

        A    B    C    D   E
    0   1    4    0    0   0
    1   2    5    8    11  4
    2   3    6    34   12  23
    3   7    29   0    0   0
    

    我该怎么做?

    0 回复  |  直到 6 年前
        1
  •  2
  •   alex067    6 年前

    您可以通过使用loc并提供索引来定位特定行。

    例如:

    df.loc[5:'D']=10
    

    这将在行索引5的D列中添加值10。

    您的问题表明您想根据行索引添加新列。这没有意义,因为数据框架不像NoSQL文档,你可以添加独立于其他行的列。

    您应该做的是将所有列都添加到数据帧中,然后边添加边添加值。

    要添加多个值,请执行以下操作:

    df.loc[5, ['D', 'B']] = 10