#python #pandas
#python #pandas
Вопрос:
В следующем df
:
import pandas as pd
class Aclass:
def __init__(self, i: int=0):
self.name = 'A' str(i)
self.val = 1
def __repr__(self):
return self.name
one = Aclass(1)
two = Aclass(2)
three = Aclass(3)
df = pd.DataFrame({'a': [one, two, three], 'b': [4, 5, 6]})
… как можно изменить значение объектов в столбце a
на целые числа b
таким образом, чтобы:
print([i.a.val for i in df.itertuples()])
показывает [4, 5, 6]
?
Комментарии:
1. Вы пытаетесь это сделать
print([(i.a.val)*(i.b) for i in df.itertuples()])
?
Ответ №1:
Я получил ответ, он так же прост, как:
for i in df.itertuples():
i.a.val = i.b
По какой-то причине понимание списка [i.a.val = i.b for i in df.itertuples()]
не сработало, что меня расстроило!