У меня есть данные в pandas.groupby
объекте, и я пытаюсь выполнить итерацию по группам на основе условия в столбце под названием «Количество».Тем не менее, сообщение об ошибке, которое я получаю, пытается преобразовать «ссылочный» код из строки в число с плавающей точкой, но я не уверен, где я даю эту директиву.
for data in row:
if float(data) in ['Amount'] > 0:
{'buy_currency' : ['Currency'],
'buy_quantity' : ['Amount'],
'order_id' : str(data)['Reference']}
Я полагаю, что неправильно понимаю вторую строку: if float(data) in ['Amount'] > 0
Я только хочу преобразовать поля «Сумма» в число с плавающей запятой, и с остальными полями все в порядке.
Я ценю любые указания или толчок в правильном направлении!
import pandas as pd
import numpy as np
df2 = pd.read_excel('sample.xlsx')
mask = df2.groupby(['Reference'])
groups = mask.groups
for ref, trades in mask:
for index, row in trades.iterrows():
for data in row:
if float(data) in ['Amount'] > 0:
{'buy_currency' : ['Currency'],
'buy_quantity' : ['Amount'],
'order_id' : str(data)['Reference']}
else:
{'sell_currency' : ['Currency'],
'buy_quantity' : ['Amount'],
'order_id': str(data)['Reference']}
Набор данных содержит следующие образцы: Образец набора данных
Ошибкаполученное сообщение:
ValueError: could not convert string to float: 'bbb8ee04-053c-4174-b5b1-281c10618d52'