Я борюсь с довольно простой проблемой.
Ниже приведен пример двух строк в кадре данных.
df_example.iloc[0]=
date: 24/03/2020
time: 10:10:10
currency: GBX
price: 100
df_example.iloc[1]=
date: 24/03/2020
time: 11:10:10
currency: EUR
price: 20
Я хотел бы просто разделить последнюю цену GBX Однако значение в первой строке не влияет на вторую строку в моем фрейме данных. Методы, которые я попробовал, преобразуют цену второй строки в NaN или python, которые генерируют несколько предупреждений / предупреждений, которых я хотел бы избежать.
Метод, который я выбрал, это For For oop, который перебирает каждую строку и охватывает все GBX до их основных GBP и оставляет все значения EUR одинаковыми, что приводит к отсутствию значений NaN. Однако это занимает очень много времени, чтобы перебрать каждую строку.
Методы: Работа:
for i in range(len(df.index)-1):
if df['currency'].iloc[i] == 'GBX':
df['price'].iloc[i] = float(df['price'].iloc[i]) / 100
#print(df['Last Price'].iloc[i])
else:
df['price'].iloc[i] = float((df['price'].iloc[i]))
#print(df['Last Price'].iloc[i])
Не работает: 1. df['Last Price'] = df[df['Currency']==GBX]['Last Price'].div(100)
2. df['Last Price'] = df[df['Currency']==GBX]['Last Price'].apply(lambda x: x/100)
3. создание двух разных фреймов данных и попытка объединить сквозные python предупреждения индекса
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Спасибо.