Diğer sütundaki değere göre python 3 (pandalar) veri çerçevesinde yeni sütun oluşturun
Veri çerçevesindeki diğer sütunlardan alınan değerlere göre yeni sütunlar oluşturmam gereken bir Pandalar veri çerçevem var. İşte veri çerçevesi
kişi şehir devlet ülke
Bir Chicago Illinois ABD
B Phoenix Arizona ABD
C San Diego California ABD
Durumdaki değerlere göre iki yeni sütun oluşturmak istiyorum
- Eyalet = "Illinois" olan yeni sütun df ["şehir-kuzey"] = df ['şehir'] oluşturun
- Eyaletin "Illinois" e eşit olmadığı yeni sütun df ["şehir-güney"] = df ['şehir'] oluşturun
denedim
df.loc[((df['state'] == 'Illinois')), 'city-north'] = df['city']
df.loc[((df['state'] != 'Illinois')), 'city-south'] = df['city']
Ancak koşula eşit olmayan ikinci kod satırı 'şehir-güney' sütunu oluşturmaz. Lütfen yardım et
Yanıtlar
1 jezrael
Benim için iyi çalışıyorum, eğer hiçbir eşleşme koşulu oluşturulmazsa eksik değerler:
df.loc[df['state'] == 'Illinois', 'city-north'] = df['city']
df.loc[df['state'] != 'Illinois', 'city-south'] = df['city']
print (df)
person city state country city-north city-south
0 A Chicago Illinois USA Chicago NaN
1 B Phoenix Arizona USA NaN Phoenix
2 C San Diego California USA NaN San Diego
Eşleşmeyen satırlar için boş değer dizelerine ihtiyacınız varsa:
df['city-north'] = np.where(df['state'] == 'Illinois', df['city'], '')
df['city-south'] = np.where(df['state'] != 'Illinois', df['city'], '')
print (df)
person city state country city-north city-south
0 A Chicago Illinois USA Chicago
1 B Phoenix Arizona USA Phoenix
2 C San Diego California USA San Diego
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'