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

连接pandas数据帧的更多pythonic方法

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

    因此,我不得不编写程序来对现有的大熊猫数据帧做一些事情,然后在那个数据帧中写入一个for循环中的大数据帧的末尾。

    我找到了一种方法,将第一个数据帧设置为第一次迭代的结束数据帧,然后在以后的迭代中将数据帧连接到这个结束数据帧,但对我来说这似乎不是最有效的方法。

    我使用python已经有一段时间了,但最近才开始使用pandas,所以我不知道是否有更简单的方法来实现这一点。我附加了一个简单的示例代码,希望它能演示我正在做的事情,并想知道是否可以做得更像pythonical。

    df = pandas.DataFrame([0,1,2,3])
    for i in range(3):
        if i == 0:
            end_df = df
        else:
            end_df = pandas.concat([end_df,df],ignore_index=True)
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Marcin    6 年前

    如果只想有一个变量,可以简化代码:

    df = pd.DataFrame([0,1,2,3])
    for i in range(3):
        df =  pd.concat([df, some_op_modifying_df(df)], ignore_index=True)
    

    ,其中 some_op_modifying_df 是生成新版本的 df .

    话虽如此,但如果你提供了问题的更多细节,这将更容易找到一些合理的解决方案。