Я новичок в Python, так что это должно быть красиво основы, но я не могу шести, чтобы выполнить то, что я хочу. < /p>
Допустим, у меня есть следующий кадр данных: < /p>
df = pd.DataFrame(index=[1,2,3])
df['Currency'] = ['USD','USD','EUR']
df['Amount'] = [1500, 580, 3980]
df['Remaining_Amount'] = [0, 25, 368]
df['Remaining_Amount_CAD'] = [0, 36, 545]
< /code>
Мне нужно перевести столбец суммы в канадском долларе, используя ту же ставку, которая преобразует оставшуюся столбец_амонта в столбец оставшегося_амонта_када, но иногда у меня нет значения для этих столбцов (например, для первой строки) в моем файле. Таким образом, я создал функцию, которая зацикливается, пока она не найдет валюту, для которой столбцы не являются нулевыми и выполняют расчет скорости. Он работает нормально, если я жестко кодирую валюту как аргумент. < /P>
def exchange_rate_CAD(dataframe, currency):
for index, row in dataframe.iterrows():
try:
if row['Currency'] == currency:
rate_CAD = row['Remaining_Amount_CAD'] / row['Remaining_Amount']
break
except:
pass
return rate_CAD
< /code>
Я хотел бы иметь возможность использовать значение валюты из столбца валюты в моей функции, но когда я пытаюсь это сделать, это генерирует ошибку: < /p>
exchange_rate_CAD(df,df['Currency'])
Я новичок в Python, так что это должно быть красиво основы, но я не могу шести, чтобы выполнить то, что я хочу. < /p> Допустим, у меня есть следующий кадр данных: < /p> [code]df = pd.DataFrame(index=[1,2,3]) df['Currency'] = ['USD','USD','EUR'] df['Amount'] = [1500, 580, 3980] df['Remaining_Amount'] = [0, 25, 368] df['Remaining_Amount_CAD'] = [0, 36, 545] < /code> Мне нужно перевести столбец суммы в канадском долларе, используя ту же ставку, которая преобразует оставшуюся столбец_амонта в столбец оставшегося_амонта_када, но иногда у меня нет значения для этих столбцов (например, для первой строки) в моем файле. Таким образом, я создал функцию, которая зацикливается, пока она не найдет валюту, для которой столбцы не являются нулевыми и выполняют расчет скорости. Он работает нормально, если я жестко кодирую валюту как аргумент. < /P> def exchange_rate_CAD(dataframe, currency): for index, row in dataframe.iterrows(): try: if row['Currency'] == currency: rate_CAD = row['Remaining_Amount_CAD'] / row['Remaining_Amount'] break except: pass return rate_CAD < /code> Я хотел бы иметь возможность использовать значение валюты из столбца валюты в моей функции, но когда я пытаюсь это сделать, это генерирует ошибку: < /p> exchange_rate_CAD(df,df['Currency']) [/code] Любой совет будет оценен
довольно странный вопрос, можно ли передать метод в качестве аргумента функции. Есть два цикла for, один вложенный в другой, но внутренняя часть всегда будет разной. Можно ли как-то занести в метод, чтобы не копировать цикл каждый раз?
довольно странный вопрос, можно ли передать метод в качестве аргумента функции. Есть два цикла for, один вложенный в другой, но внутренняя часть всегда будет разной. Можно ли как-то занести в метод, чтобы не копировать цикл каждый раз?
введите здесь описание изображения
Проверьте распределение определенного значения, например, сколько раз погода была именно облачной, в данном столбце. Не стесняйтесь проверить другие значения. Проверить это можно, вызвав функциюclear с...