मेरी क्रिसमस पर नेटसीडीएफ फ़ाइल आयात करें। मैं अभी भी पाइथन और पांडों के लिए बहुत नया हूं इसलिए सहायता की सराहना की जाती है।
मैं एक नेटसीडीएफ फ़ाइल में पढ़ने की कोशिश कर रहा हूं, जिसे मैं कर सकता हूं और फिर इसे पांडस डेटाफ्रेम में आयात कर सकता हूं। नेटसीडीएफ फ़ाइल 2 डी है इसलिए मैं बस इसे 'डंप करना' चाहता हूं। मैंने डेटाफ्रेम विधि की कोशिश की है लेकिन यह ऑब्जेक्ट को पहचान नहीं पाती है। संभवतः मुझे netCDF ऑब्जेक्ट को 2 डी numpy सरणी में कनवर्ट करने की आवश्यकता है? ऐसा करने के सर्वोत्तम तरीके पर किसी भी विचार के लिए फिर से धन्यवाद। शुभकामनाएं जेसनपांडा डेटाफ्रेम
उत्तर
आप अपनी फ़ाइल को पी.ई. में पढ़ने के लिए पीएनएनआईओ जैसी लाइब्रेरी का उपयोग कर सकते हैं। numpy arrays और उन्हें पांडा को खिलाओ।
PyNIO क्लासिक नेटसीडीएफ 3 और नेटसीडीएफ 4 सहित कई फ़ाइल प्रारूपों को पढ़ने की अनुमति देता है।
netcdf4-python भी इन netCDF प्रारूपों पढ़ सकते हैं और py3.3 संगत है सकते हैं
अपने NetCDF फ़ाइल (या OPeNDAP
डाटासेट) सीएफ मेटाडाटा सम्मेलनों का अनुसरण करती है आप NetCDF4-Python package
का उपयोग कर, जो वास्तव में पांडा में उन तक बनाता करके उनमें से लाभ ले सकते हैं आसान। (मैं एंथॉट पायथन वितरण का उपयोग कर रहा हूं जिसमें पांडो और नेटसीडीएफ 4-पायथन दोनों शामिल हैं)।
नीचे दिए गए उदाहरण में, नेटसीडीएफ फ़ाइल OPENDAP के माध्यम से परोसा जा रहा है, और नेटसीडीएफ 4-पायथन लाइब्रेरी आपको रिमोट ओपेन्डैप डेटासेट के साथ खोलने और काम करने की सुविधा देती है जैसे कि यह एक स्थानीय नेटसीडीएफ फ़ाइल थी, जो कि बहुत चिकना है। आप NetCDF4 फ़ाइल की विशेषताओं को देखने के लिए चाहते हैं, इस लिंक पर अपने ब्राउज़र http://geoport-dev.whoi.edu/thredds/dodsC/HUDSON_SVALLEY/5951adc-a1h.nc.html
आप बदलाव के बिना इस चलाने के लिए सक्षम होना चाहिए:
from matplotlib import pyplot as plt
import pandas as pd
import netCDF4
url='http://geoport-dev.whoi.edu/thredds/dodsC/HUDSON_SVALLEY/5951adc-a1h.nc'
vname = 'Tx_1211'
station = 0
nc = netCDF4.Dataset(url)
h = nc.variables[vname]
times = nc.variables['time']
jd = netCDF4.num2date(times[:],times.units)
hs = pd.Series(h[:,station],index=jd)
fig = plt.figure(figsize=(12,4))
ax = fig.add_subplot(111)
hs.plot(ax=ax,title='%s at %s' % (h.long_name,nc.id))
ax.set_ylabel(h.units)
परिणाम IPython नोटबुक में यहां देखा जा सकता है : http://nbviewer.ipython.org/4615153/
xarray लाइब्रेरी मनमाने ढंग से-आयामी नेटसीडीएफ डेटा संभालती है, और मेटाडेटा को बरकरार रखती है।
import xarray as xr
ds = xr.open_dataset('/path/to/netcdf')
df = ds.to_dataframe()
इससे फ़ोल्डर में सभी आयाम के साथ एक बहु सूचकांक के साथ एक dataframe पैदा करेगा: Xarray netCDF फ़ाइलों को खोलने, और उन्हें पांडा dataframes में परिवर्तित करने का एक सरल तरीका प्रदान करता है। दुर्भाग्यवश, पांडस मनमाने ढंग से मेटाडेटा का समर्थन नहीं करते हैं, इसलिए रूपांतरण में खो जाएगा, लेकिन आप ds
को आस-पास रख सकते हैं, और उस से मेटाडेटा का उपयोग कर सकते हैं।
- 1. पांडा: डेटाफ्रेम
- 2. पांडा डेटाफ्रेम
- 3. पांडा डेटाफ्रेम
- 4. पांडा डेटाफ्रेम
- 5. पांडा डेटाफ्रेम पिवोटिंग समस्या
- 6. पांडा: डेटाफ्रेम का नमूनाकरण
- 7. पांडा: अद्वितीय डेटाफ्रेम
- 8. दो पांडा डेटाफ्रेम जोड़ना
- 9. पांडा डेटाफ्रेम, मूल्य
- 10. स्पैस डेटाफ्रेम से निरंतर पांडा डेटाफ्रेम भरना
- 11. पांडा में बड़े, लगातार डेटाफ्रेम
- 12. पांडा: डेटाफ्रेम को सामान्यीकृत करना
- 13. प्लॉट पांडा डेटाफ्रेम जिसमें NaNs
- 14. पांडा में डेटाफ्रेम पर इंटरपोलेशन
- 15. पांडा डेटाफ्रेम का उपयोग कर मेमोरी लीक
- 16. डेटाटाइम ऑब्जेक्ट्स के साथ पांडा रीइन्डेक्स डेटाफ्रेम
- 17. पांडा
- 18. पांडा
- 19. पांडा
- 20. पांडा पाइथन
- 21. पायथन पांडा में डेटाफ्रेम से विशेष पंक्तियों को हटाने
- 22. डेटाफ्रेम.प्ली में पाइथन पांडा में मूल और डुप्लिकेट डेटाफ्रेम
- 23. आयात करें पांडा डेटाफ्रेम कॉलम स्ट्रिंग के रूप में int
- 24. पांडा
- 25. पांडस डेटाफ्रेम
- 26. पंडेस में पित्टेबल्स टेबल डेटाफ्रेम
- 27. पांडस डेटाफ्रेम इंडेक्स
- 28. पांडा एग्रीगेशन फ़ंक्शन
- 29. पायथन पांडा
- 30. निर्माण पांडा DataFrame
xray अब xarray है: http://xarray.pydata.org/en/stable/ –
धन्यवाद @ डेवएक्स, अपडेट किया गया। – naught101