जियोपैन्डस में समान डेटाफ्रेम की सूची में शामिल होना?


16

मेरे पास डेटाफ़्रेम की एक सूची है, सभी एक ही संरचना के हैं और सभी बहुभुज हैं।

मैं उन सभी को एक साथ जियोपैन्डस का उपयोग करके कैसे जोड़ सकता हूं?

जवाबों:


28

ऐसा लगता है कि यह अभी करने का सही तरीका है:

rdf = gpd.GeoDataFrame( pd.concat( dataframesList, ignore_index=True) )

8
महान जवाब, एक सुधार rdf = gpd.GeoDataFrame(pd.concat(dataframesList, ignore_index=True), crs=dataframesList[0].crs):। अब नए डेटाफ्रेम में भी प्रारंभिक डेटाफ्रेम में से एक के रूप में एक ही सीआरएस होगा। क्योंकि pandas.concatसीआरएस जैसे किसी भी भौगोलिक मेटाडेटा का उपयोग डिफ़ॉल्ट रूप से संरक्षित नहीं किया जाता है।
एलेक्समैट

यह अच्छी तरह से काम करता है - धन्यवाद। मैंने पाया कि एपेंड भटक सकता है जैसे कि जब एक फ़ाइल का "नाम" होता है और दूसरे का "नाम" होता है, तो मैं एक फाइल से पंक्तियों के लिए किसी भी कॉलम में कुछ भी नहीं समाप्त करता हूं। मैं इसे मज़बूती से पुन: पेश नहीं कर सका, इसलिए मैंने कॉलम नाम को आसान बनाने के लिए स्तंभ नामों को मजबूर करके निचले मामले को समाप्त कर दिया, जो विश्वसनीय लगता है।
माइक हनी

15

मैंने अभी इसके साथ प्रयोग किया है - शायद जियोपांडास में 0.2.1 और पंडों में 0.20.3 यह थोड़ा अधिक संक्षिप्त है:

gdf = pd.concat([gdf1, gdf2])

gdf स्वतः ही GeoDataFrame के रूप में बनाया गया है। बेशक अगर परस्पर विरोधी सूचकांकों का मौका है तो आप 'ign_index = True' पैरामीटर रखना चाहेंगे।


3
मैंने अभी यह कोशिश की है और मैं पुष्टि कर सकता हूं कि यह काम नहीं करता है (पांडास_0.20.3 जियोपैन्डास_0.3.0 का उपयोग करके)। परिणाम एक DataFrame है, न कि GeoDataFrame। जैसे अगर आप इस्तेमाल करने की कोशिश करते हैं तो आपको gdf1.to_file(xxx, driver='ESRI Shapefile')एक त्रुटि मिलेगी जो कहती है'DataFrame' object has no attribute 'to_file'
jberrio

@jberrio अपडेट के लिए धन्यवाद! ऐसा लगता है कि जियोपांड्स के अपडेट ने चीजों को और अधिक स्पष्ट कर दिया है।
चार्ली Parr

1
अनुरोधकर्ता के अनुरोध को हटाने वाले ध्वजवाहक के लिए स्वीकार चेकमार्क को हटा दें कृपया ध्यान रखें कि ऐसा करना संभव नहीं है। Meta.stackexchange.com/a/187263/215590 से वर्कअराउंड के रूप में मैंने उत्तर को हटाने की कोशिश की, लेकिन उत्तर देने वाले ने अनुरोध किया कि इसे हटा दिया जाए। स्वीकार किए जाते हैं जवाब है कि अब सही हो सकता है से निपटने के लिए एक दीर्घकालिक समाधान पर प्रस्तावित किया गया है meta.stackexchange.com/questions/268666/...
PolyGeo

यह मेरे लिए पांडा संस्करण: 0.24.2 और जियोपैन्डस संस्करण के साथ ठीक काम करता है: 0.5.0
डेन्सन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.