У меня есть выходная таблица для моего скрипта Python, которая, в зависимости от месяца, может иметь одну запись без значения или несколько записей с правильными значениями.
Мой код конвертирует сумму зарплаты в формат $ и. Но если в столбце «Зарплата» указано «Нет», это не сработает. Как я могу условно перевести этот столбец зарплаты? Я предоставил образцы данных и то, что я пробовал до сих пор.
образец данных
d1 = {'name': ['john', 'tom'], 'Address': ['NY', 'CA'], 'Salary' : ['5000', '6000']}
df1 = pd.DataFrame(data = d1)
мой код
if df1['Salary'] is None:
pass
else:
df1['Salary'] = df1['Salary'].astype(int)
df1['Salary'] = df1.apply(lambda x: "${:,}".format(x['Salary']), axis=1)
Это вывод, который я хочу
Address Salary name
0 NY $5,000 john
1 CA $6,000 tom
Но если в столбце оклада указано значение None, этот код не работает.
d2 = {'name': ['john', 'tom'], 'Address': ['NY', 'CA'], 'Salary' : ['5000', None]}
df2 = pd.DataFrame(data = d2)
Я получаю следующую ошибку:
TypeError: аргумент int () должен быть строкой, байтовидным объектом или числом, а не NoneType
Я понимаю ошибку, столбец не может быть одновременно целочисленным, а также иметь в нем значение None, не говоря уже о форматированном значении. Как я могу получить искомый вывод, даже если в моем столбце нет значения None?