Çok büyük bir HDF5 dosyam var, bir kısmını bazı işlemleri gerçekleştirmek için bir panda DataFrame'e yüklemek istiyorum ancak bazı satırları filtrelemekle ilgileniyorum.HDF5 dosyasını pandalara oku Şartlar altında DataFrame
Ben bir örnekle daha iyi açıklayabiliriz:
benzer görünümde olacaktır Orjinal HDF5 dosyası: Bir pandalar için
A B C D
1 0 34 11
2 0 32 15
3 1 35 22
4 1 34 15
5 1 31 9
1 0 34 15
2 1 29 11
3 0 34 15
4 1 12 14
5 0 34 15
1 0 32 13
2 1 34 15
etc etc etc etc
Ne yapmaya çalışıyorum değişiklik yapmadan olduğu gibi, bu yük olduğunu, Dataframe ama sadece
where A==1 or 3 or 4
Şu ana kadar sadece kullanarak bütün HDF5 yükleyebilirsiniz:
store = pd.HDFStore('Resutls2015_10_21.h5')
df = pd.DataFrame(store['results_table'])
Burada bir where
koşulunun nasıl ekleneceğini anlamıyorum.
Teşekkürler unutbu, bu iyi cevaba sadece bazı yorumlar. Anladığım kadarıyla, cevabınızın başlangıcında df'yi tablo formatında h5'e yazarsınız. Ancak, betiğimin girdisi zaten kaydedilmiş bir h5'tir, doğru biçimde olup olmadığını nasıl anlayabilirim? – codeKiller
Eğer 'h5' dosyanız 'table' biçiminde değilse,' pd.read_hdf' ile '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' dir'' bir sabit formattan okuduğunda bir belirtimi iletemez. Eğer 'h5' dosyası 'table' biçiminde' A' 'data_column' olarak belirtilmemişse, o zaman 'ValueError' ifadesini alırsınız: İfadenin gerçekleştiği yer: [1,3,4] 'de A geçersiz bir değişken içeriyor referans ... '. – unutbu
Bir h5 dosyasını 'fixed'' 'table' formatına dönüştürmek veya' data_columns' eklemek için hızlı/kolay bir yol bilmiyorum. Bildiğim kadarıyla, tüm h5 dosyasını bir DataFrame'e (veya "chunksize" parametresini kullanarak parçalara ayırmak) okumak ve sonra bunu yazmak veya farklı bir "h5" dosyasına eklemek zorundasınız. tablo biçimi. – unutbu