Hi all, I have a problem trying to match items in a dict and pandas series in Python.
I have a dict ( called city_dict )of cities and city_id's ; for each city ( which is a key in the dict ), a unique city_id is a value in that dict. So for example, city_dict = { New York : 1001, LA : 1002, Chicago : 1003 }. New York is a key, 1001 is a value. Now I have a panda Series called dfCities. In this series is a bunch of cities, including the cities in city_dict. My goal is to replace the cities in dfCities with the city_id's in a brand new csv file. So if dfCities has New York in it, I want to replace it with it's value in the dictionary, so 1001. Approaches I've tried - checking to see if the keys match the cities in dfCities in a 'if in' statement ( such as "if city_dict.keys() in dfSeries"), and then doing a straight replace ( can't do that since series are ambiguous in truth values). Therefore I tried using .any() for Pandas series (since .all() would strictly want all values in dfCities to match, and all values don't match ) Afterwards, tried to directly match the series with keys and the clarified truth value series, but dict_keys are unhashable, so I had to convert the keys to str and see if I could compare strings ( with a stringified dfCities ) Then I realized that even if I can get a if statement to start checking (if dfCities.str.contains(keyss).any(): ) (keyss being the stringified version of the keys for city_dict ), I don't know how to build a approach to cross check the values of city_dict with the cities in dfCities ( I have a vague notion that I should check if the keys of city_dict match with dfCities, and then replace the cities in dfCities with the values of city_dict in a new csv file output. However, I don't know how to replace data in a Series with vaues of a dict ). So I would like to ask the community what approach I can take to build to that piece of the puzzle. I feel I have most of the solution, but I'm missing something. Thanks for reading and I appreciate the help. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor