Usuwanie '-' między danymi w data frame

Usuwanie '-' między danymi w data frame
prociusiek x
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 3 lata
  • Postów:17
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 ;)

lambdadziara
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 godziny
  • Postów:442
0

wrzuc plik json lub excel z tymi danymi

prociusiek x
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 3 lata
  • Postów:17
0

Trzymaj

lambdadziara
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 2 godziny
  • Postów:442
1
Kopiuj
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

edytowany 1x, ostatnio: lambdadziara
prociusiek x
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 3 lata
  • Postów:17
0

Dziękuję Ci bardzo :D Pomogło

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.