Új hozzászólás Aktív témák
-
sonar
addikt
válasz
pokerecske1
#359
üzenetére
A kód működő képes, de azért van pár limitációja.
ha nem csak file hanem könyvtár is van ami mondjuk "akarmi.TIF" akkor azt is bele veszi a listába
Illetve ha változik a kiterjesztés akkor ugye nem mindegyiket fogja kilistázni. Ez akkor fordulhat elő ha mondjuk egy NAS-ról v linux alól kell dolgozni ahol a filerendszer Case Sensitive. Tehát az akarmi.tif, akarmi.TIF, akarmi.Tif... mind-mind különböző file, persze win alatt ez nem fordulhat elő.
Én igy irnámimport glob
import os
path='D:/'
os.chdir(path)
search='*.[tT][iI][fF]'
tif_list=glob.glob(search)
for tif_file in tif_list:
# print "tif file: %s" % tif_file
# open(tif_file).... -
adamch4
tag
válasz
pokerecske1
#359
üzenetére
Sikerült!

hirtelen ledermedtem, mert kb. 30 nagyméretű fájl volt éppen a megadott mappában, és hát mindegyiken végig ment hiba nélkül
Már csak annyi szépséghibája van, hogy ugyanabba a mappába köpködi az új fájlokat, de ez már a legevesebb
-
adamch4
tag
válasz
pokerecske1
#359
üzenetére
igen, pont ilyet kerestem

legalábbis sejtettem, hogy kell lennie ilyennek is, bár anno ilyet nem tanultam
rögvest kipróbálom! -
cousin333
addikt
válasz
pokerecske1
#355
üzenetére
Tehát ha jól értem, akkor a megadott (több napos) intervallumon belül szeretnéd az adott órák az átlagát kiszámolni, tehát mondjuk elsejétől ötödikéig kiszámítani a 00:00 és 01:00 közötti értékek átlagát, majd az 01:00 és 02:00 közöttiekét, egészen 23:00-24:00-ig. A megoldás a GroupBy, ami egy kulcsot vár. Esetünkben:
kulcs = lambda x: x.hour
data.groupby(by=kulcs).mean()vagy összevontan, és adott időtartományra:
data['2013-5-20':'2013-5-30'].groupby(lambda x: x.hour).mean().plot()
ui: Ha nem muszáj, akkor nem érdemes mindig új DataFrame-et létrehozni (AO_mm = ...), elég, ha egyszer van meg az adat és annak a nézeteit ábrázolod.
-
cousin333
addikt
válasz
pokerecske1
#353
üzenetére
Szia!
A Pandas modul teljesen jó a célra, mert tud két olyan dolgot, ami neked kell:
- dátum-oszlopok beolvasása
- dátumok újramintavételezéseAz elsőt már a beolvasásnál érdemes aktiválni, így a dátum lesz az index:
data = pd.read_csv('data.csv', header=None, index_col=0, parse_dates=True, names=['X', 'Y'])Ha sok az adat, esetleg gyorsíthat, ha még beteszed, hogy infer_datetime_format=True. Egyáltalán: jó, ha olvasgatod a read_csv metódus súgóját. Pl. a fenti sor feltételezi, hogy az index oszlop (a 0.) tartalmazza a dátumot.
Érdemes lehet kiíratni az első pár sort, hogy lásd, mi történt:
data.head()Ha van index oszlopod (ami most maga a dátum), akkor az ábrázolás innen egyszerűen:
data.plot()A másik, amit szeretnél, hogy napi/óránkénti bontásban ábrázolja (vagy más osztásban), pl.:
data.resample('H', how='mean') # óránkénti bontás
data.resample('M', how='mean') # havi bontásÁbrázoláshoz egyszerűen add hozzá, hogy plot:
data.resample('M', how='mean').plot()
Új hozzászólás Aktív témák
- DDR3-as laptop memóriák 4gb-os 52db tesztelve 1200ft
- BESZÁMÍTÁS! Asus EX-B365M i5 9600K 16GB DDR4 500GB SSD RX 5500 XT 8GB Zalman T3 Plus 600W
- Lenovo Thinkpad P15 Gen 2 - 82 akkuciklus - 27% ÁFÁS
- Felsőkategóriás Gamer PC-Számítógép! Csere-Beszámítás! 7800X3D / RTX 5070 / 32GB DDR5 / 2TB SSD!
- Xiaomi 12T 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



