Все, что я пробовал, было:
df['buyer_zip']=df['buyer_zip'].replace('-', 0)
df['buyer_zip']=df['buyer_zip'].replace('', 0)
df['buyer_zip']=df['buyer_zip'].str[:5]
df["buyer_zip"].fillna( method ='ffill', inplace = True)
df["buyer_zip"].apply(int)
У меня есть два столбца в фрейме данных pandas, называемые Buyer_zip и Item_zip, которые являются почтовыми индексами покупателя и товаров соответственно. Эти почтовые индексы имеют 4 формата. Один - это 5-значный почтовый индекс (например, 12345), второй - 5 + 4-значный почтовый индекс (12345-1234), один - 9-значный почтовый индекс (123456789), а последний - «EC180». Итак, последний формат - буквенно-цифровой. Всего 15 миллионов записей. Меня поразил момент, когда мне нужно преобразовать все эти буквенно-цифровые значения в числовые. При попытке сделать то же самое я обнаружил ошибку: недопустимый литерал для int () с базой 10: 'EC180'. Может ли кто-нибудь помочь мне найти все слова в моем столбце данных и заменить их на 00000. Ценю любую помощь. Но ни один из них не дал ответа на то, как найти слова в этом столбце и заменить их числами
Образец данных:
buyer_zip
97219
11415-3528
EC180
907031234
Ожидаемый результат
buyer_zip
0 97219
1 114153528
2 0
3 907031234
"00000"
по умолчанию ...