Jupyter lab, jupyter notebook

Öncelikle, merhabalar herkese iyi hafta sonlari, ben yurtdisinda avrupa’da bir universite de yuksek lisans ogrencisiyim, bu sene ilk defa python-jupyterlab gordum hayatimda, bir kac sorum var acaba yardimci olabilen olursa cok sevinirim.

Elimde bir covid ile alakali csv dosyasi var, kolonlarda olum orani, iyililesme, ulke isimleri, guncelleme.tarihleri vs var.

Bu csv yi pandas read ile okutuyorum, yapmak istedigim sey, csv verisinden bir ülke ismi girdirdim kullanıcıya, kullanıcının girceği ülkenin en güncel covid verilerini görüntülemesini istiyorum.Şu şekil yapmaya çalıştım fakat burda kaldım.Çok mazur görün programlama hiç alakam olmayan bir şey.Lisans ta da hiç alakam olmadı çünkü yoktu öyle bir ders, bölümümle alakalı olmadığı için.Teşekkürler:)

import pandas as pd
df=pd.read_csv(r’C:\Users\data\covid_19_data.csv’)

country_name = input(‘please enter a country name’)

display(country_name)

Biraz daha düzelttim, ya bazen çözebiliyiorum ama bir soruyu 2 saatte çözüyorum.:frowning:

import pandas as pd
df=pd.read_csv(r'C:\Users\data\covid_19_data.csv')
country_name = input('please enter a country name')     

covid_input = df[df['Country/Region'] == country_name]
covid_input1=covid_input[covid_input['Last Update'] == '2021-05-03 04:20:39']

display(covid_input1)

Fakat şu an tıkandım, yardımcı olabilecek olan varsa çok sevinirim,
‘‘Determine that which was the “deadliest” day for the country given in Task 1 ; meaning that on which occured the greatest increment in the number cumulative deaths compared to the previous data row?’’

burda galiba en çok ölüm artışı hangi günde olmuş diyor bir önceki güne göre.Ama bunu nasıl yapacağımı tam kestiremedim

İki ardışık gün arasındaki fark için pd.Series.diff

12 tane kolo var nasıl uygularım bunu,

İlgilendiğiniz sütun olan Deaths sütununu seçtikten sonra

yapamadım malesef, çok acemiyim bu konuda

df.Deaths.diff() ile Deaths sütunun iki ardışık satırı arası farklarını elde ediyorsunuz. Buradan da en çok artışın hangi satırda gerçekleştiğini bulabilirsiniz.

Hocam, o soruyu başka bir yöntemle çözdüm de, umarım doğdurud.Başka bir şey sorabilir miyim
pandas ta ki bi kolon ile geopandas ta ki kolunu her satırı birbirine nasıl böleriz, yeni bir kolon yaratarak? çok teşekkür ederim

bu şekilde hocam,
confirmed= df['Confirmed'] / gdf['POP_EST']

yapıyorum bu bölme işlemini, değer nan çıkıyor

geopandas’ı bilmiyorum ama indeksleri aynı değilse NaN döndürüyordur heralde, indeksleri aynı mı df ile gdf'nin? Sadece değerlerle ilgileniyorsanız, numpy domain’ine gidip orada bölebilirsiniz:

df.Confirmed.to_numpy() / gdf.POP_EST.to_numpy()

Bu geriye bir numpy array’i verir; eğer ikisinden birinin indeksini koruyacak şekilde pandas serisi döndürsün istiyorsanız, indeksini korumak istediğinizin to_numpy()'ını siliniz.

pandas ın bütün kolonlarını geopandasa ekledim merge() komutu ile.görüntüleyince noktalı çıkıyor ondan dolayı saınrım ama nasıl yapacağım bilmiyorum.Evet sadece değerler lazım, bütün satırda ki değerleri diğer bütün kolonun satırlarına bölüm yeni bi kolon yaratmak istiyorum

operands could not be broadcast together with shapes (285307,) (255,) bu hatayı aldım

df.Confirmed.to_numpy() / gdf.POP_EST.to_numpy() bunu deneyince

evet indexler aynı değil sanırım ondan mı böyle yapıyor.

285307 elemana sahip bir array’i 255 elemana sahip diğer bir array’e bölmeye çalışmış olduk, o da olmuyor takdir edersiniz ki. Bir dataframe’de 285307 satır var diğerinde 255; ikisini nasıl bölmek gerekir

Peki elimde ki iki dataframe i nasıl birleştirebilirim.Ortak olan tek kolon ülke isimleri.

  1. 285307 satırlık dataframe de korona bilgileri var kolonda, bunda da 255 tane ülke var fakat bir ülke 1000 kere yazılmış mesela çünkü çok tarih var.

255 lik te ülke isimleri ve nüfüsları var

Veya sadece bir ülke ve bir tarih için yapmak istesem bunu

Ortak olan sütunun ismi "Country" ise şöyle map kullanarak yeni bir sütun oluşturabilirsiniz df’te:

df["population"] = df.Country.map(gdf.set_index("Country").POP_EST)

Bu df’teki her ülkeyi gdf’ten bakarak karşılık gelen nüfusa eşliyor map ile ve yeni sütuna atıyoruz sonrasında. set_index ise 2 sütunlu gdf’nin bir sütununu indekse alıyor ve POP_EST’i seçtiğimizde indeksinin Country olmasını sağlıyor, mapping olarak kullanılabiliyor.

Şimdi artık bölebilirsiniz:

df.Confirmed / df.population

Üsttekini yaptıktan sonra ülke bazında seçim yapabilirsiniz query ile:

netherlands_verileri = df.query("Country == 'Netherlands'")

bu size bir subset verir, yine yukarıdaki bölme işlemini yapabilirsiniz bunun üzerinden.

hocam çok sağolun, maşallahınız var ya çok merak ettim ne mezunusunuz :smiley: işe yaradı bu arada çok teşekkür ederim