通过迭代合并的Pandas数据框。如何避免标题列表和行

时间:2018-11-07 08:56:16

标签: python pandas list dataframe

我偶尔会编写一次代码,目前我非常基础。也许这是一个愚蠢的问题,但这使我陷入了太多困境。

背景

我有一个函数(get_profiles),它沿着一条样带线(长100m)每5m绘制一个点,并提取高地坐标(从一个地标中)。 参数为:

  • dsm(数字表面模型)
  • transect_file(geopackage,包含许多具有不同transect_ID的LineString)
  • transect_id(int,从transect_file中提取)
  • 步骤(整数,沿断面线提取高程的米数)

一条样条线的输出是一个图片中的数据帧,这正是我所期望的,我喜欢它!

enter image description here

但是,最大的问题是,当我在transect_ids上迭代函数时(transect_files具有10个匀称的LineStrings),如下所示:

tr_list = np.arange(1,transect_file.shape[0]-1)  
geodb_transects= []
for i in tr_list:
        temp=get_profiles(dsm,transect_file,i,5)
        geodb_transects.append(temp)

我得到一个清单。这可能是错误,但是我不知道该怎么做。

 type(geodb_transects)
 output:list

而且,更糟糕的是,每次新的迭代开始时,我都会获得标头(distance, z, tr_id, date)。

enter image description here

如何获得一个干净的熊猫数据帧,就像1次迭代(20行)的输出一样,但是所有20行的tr_id块都对齐并且没有标题?

1 个答案:

答案 0 :(得分:1)

如果您的输出是DataFrame,那么您只是想将增量DataFrame连接到一些不断增长的DataFrame中。

效率不是最高,但是类似

import pandas

df = pandas.DataFrame()
for i in range(7) :
    df = df.concat( df_ret_func(i))

如果您有一个元素列表,它们都是相同格式的记录,并且可以转换为DataFrame的行,那么您可能也对from_records function感兴趣。