Usuwanie '-' między danymi w data frame

0

Cześć,
bawię się od niedawna w analizę danych w pythonie. Obecnie pracuje na małej bazie danych. Dziś napotkałem problem, którego nie potrafię rozwiązać. Otóż mam kolumnę "Wynagrodzenia" i wartości w niej są typu Object, z racji tego, że wartości wynagrodzeń podane w tabeli są na zasadzie widełek płacowych, a więc wyglądają mniej więcej tak "9 000 - 12 000". Próbowałem przekształcić typ danych, lecz bez skutku. Próbowałem również wyciągnąć dane z tej kolumny i zamienić je na tekst aby użyć metody split(), lecz i to nie pomaga. Takie użycie split() nawet gdyby mi się udało, zaburzyło by spójność moich danych, ponieważ w niektórych kolumnach są widełki a w niektórych jest podana wartość np. "Do 20 000". Reasumując, w kolumnie "Wynagrodzenia" mam mieszankę tekstu, znaków specjalnych (-) oraz liczb. Znalazłem gdzieś rozwiązanie mojego problemu ale w języku R, wygląda ono następująco:
separate(df, col = 'Wynagrodzenia', into = c("Wynagrodzenie_Min', 'Wynagrodzenie_Max'), sep = "-")
Czy istnieje rozwiązanie mojego problemu w języku Python? Bardzo mi na tym zależy. Z góry dziękuję za pomoc ;)

0

wrzuc plik json lub excel z tymi danymi

0

Trzymaj

1
import pandas
data=pandas.read_csv("data.csv")
minSalary=[]
maxSalary=[]
for row in data['Salary']:
  if '-' in row:
    minMax=row.replace(' ','').split('-')
    minSalary.append(int(minMax[0]))
    maxSalary.append(int(minMax[1]))
  else:
    minSalary.append(0)
    maxSalary.append(int(row))
data['MinSalary']=minSalary
data['MaxSalary']=maxSalary

btw zwroc uwage na to, ze twoj plik csv jest zle zformatowany, edytuj go w excel lub libre office to zobaczysz, ze nazwa kolumny nie jest nad nia tylko obok

0

Dziękuję Ci bardzo :D Pomogło

1 użytkowników online, w tym zalogowanych: 0, gości: 1