Şimdi bir süredir başımı sarmaya çalışıyorum ve henüz bir çözüm bulmamaya başladım.Temizleme Verileri: Mevcut Sütun Değerlerini Sözlükle Eşleştirilen Değerlerle Değiştirme
Sorunuz, ölçüt karşılanırsa sütun sütununa göre birden çok sütunta geçerli sütun değerlerini nasıl değiştirebilirim ???
Bir panda CSV dataframe olarak okundu anket verilerine sahip:
mevcut sütun değeri eşitse ben her sütunda istediğiniz sütun adları ile bir sözlük ve değerlerini yarattıkimport pandas as pd
df = pd.read_csv("survey_data")
1. Her sütun 1 veya NaN içerir. Temelde '_SA' = 5, '_A' = 4, '_NO' = 3, '_D' = 2 ve '_SD' ile biten veri çerçevesindeki herhangi bir sütun, geçerli değer 1 olarak kalır. 'NaN' değerlerinin tümü olduğu gibi kal.
op_dict = {
'op_dog_SA':5,
'op_dog_A':4,
'op_dog_NO':3,
'op_dog_D':2,
'op_dog_SD':1,
'op_cat_SA':5,
'op_cat_A':4,
'op_cat_NO':3,
'op_cat_D':2,
'op_cat_SD':1,
'op_fish_SA':5,
'op_fish_A':4,
'op_fish_NO':3,
'op_fish_D':2,
'op_fish__SD':1}
Ayrıca istediğim veri çerçevesi içinde bir sütun listesini yarattığı varsa değiştirilecek [op_cols] adı verilen mevcut sütun değeri = 1: Bu sözlük. Şimdi bu sütunlardaki değerlerin arasında dolaşır ve sözlükte eşleştirilmiş değeri ile 1 değiştirir böyle bir şey kullanmaya çalışıyorlar: Bir hata olduğunu tükürme değil ama 1 yerini almıyor
for i in df[op_cols]:
if i == 1:
df[op_cols].apply(lambda x: op_dict.get(x,x))
df[op_cols]
sözlükten karşılık gelen değer ile değerler. Bu, herhangi bir tavsiye/bu işe yaramaz ya daha verimli bir yol olacağını neden telkin büyük
Teşekkür ederim @tvashtar bu mükemmel çalıştı, sütun isimleri ile döngü düşünmedim. Bu konuda yardım için teşekkür ederiz – da4l