У меня есть входные данные, как показано ниже. Здесь «пол» и «этническое происхождение» - это две колонки. Я хотел бы заменить их значения, такие как 1,2,3 и т. Д. Категориальными значениями. Ex - 1 с мужчиной, 2 с женщиной
Файл сопоставления выглядит так, как показано ниже - образец 2 столбца
![enter image description here](https://i.stack.imgur.com/UYVug.png)
Входные данные выглядят так, как показано ниже
![enter image description here](https://i.stack.imgur.com/rTcPW.png)
Я ожидаю, что мой выходной фрейм данных будет выглядеть так
![enter image description here](https://i.stack.imgur.com/YEXSp.png)
Я попытался сделать это, используя приведенный ниже код. Хотя код работает нормально, я не вижу замены. Не могли бы вы помочь мне с этим?
mapp = pd.read_csv('file2.csv')
data = pd.read_csv('file1.csv')
for col in mapp:
if col in data.columns:
print(col)
s = list(mapp.loc[(mapp[col].str.contains('^\d')==True)].index)
print("s is",s)
for i in s:
print("i is",i)
try:
value = mapp[col][i].split('. ')
print("value 0 is",value[0])
print("value 1 is",value[1])
if value[0] in data[col].values:
data.replace({col:{value[0]:value[1]}})
except:
print("column not present")
else:
print("No")
Обратите внимание, что я показал только два столбца, но в реальном времени может быть более 600 столбцов. Любой изящный подход / предложения, чтобы сделать это простым, полезен. Поскольку у меня есть два отдельных файла CSV, любые предложения по слиянию / объединению и т. Д. Также будут полезны, но, пожалуйста, обратите внимание, что мой файл сопоставления содержит значения как "1. Мужской", "2. Женский". поэтому я использовал регулярное выражение
Также обратите внимание, что некоторые другие значения столбцов также могут иметь значения сопоставления, начинающиеся с 1. Например: 1. Одинокий, 2. Женатый, 3. Разведенный и т. Д.
с нетерпением жду вашей помощи