如何將np.split_array回圈中使用的分割資料幀連接回來?
我有一個資料框作為 shapefile(或者 csv 將是相同的,除了幾何部分)和其他一些資料框。為了加快整個程序,我分成df10 個部分,然后運行一個回圈并獲得 10 個單獨的資料幀。
之后,我可以將每個資料幀匯出為 shp 或 csv 檔案,然后撰寫一個回圈遍歷目錄的代碼,找到相應的檔案并合并它們,但我希望在不匯出檔案的情況下直接在回圈結束后執行此操作。這是可以做到的嗎?
import geopandas as gpd
import pandas as pd
import numpy as np
df = gpd.read_csv(r'E:\...\Polygons.shp')
some_other_df = gpd.read_file(r'E:\...\Small_polygon.shp')
points = gpd.read_file(r'E:\...\points.shp')
df_split = np.array_split(df, 10)
for i, v in enumerate(df_split, 0):
# do something here
points_clip = gpd.clip(points, v)
some_other_df_Clip = gpd.clip(some_other_df, v)
new_dataframe = ...
# here I get 10 separate dataframes
new_dataframe.to_file(fr'W:\...\final_{i}.shp')
# how to merge all 10 new_dataframe to one?
uj5u.com熱心網友回復:
IUC:
list_of_dataframes = []
for i, v in enumerate(df_split, 0):
#Your logic goes here
list_of_dataframes.append(new_dataframe)
df_final = pd.concat(list_of_dataframes, ignore_index=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392047.html
