Я пытаюсь создать класс, который наследует панду DataFrame, с некоторыми изменениями.Однако это не сработало, как ожидалось.
import pandas as pd
class result(pd.DataFrame):
def __init__(self, x):
pd.DataFrame.__init__(self)
j = pd.DataFrame({'a': x})
print(x)
print(j)
self.append(j)
Результат:
>>> k = result([2,4])
[2, 4]
a
0 2
1 4
>>> print(k)
Empty result
Columns: []
Index: []
Как видите, каким-то образом возвращаемое значение не добавляется j
.Для сравнения обратите внимание, когда j
и k
не определены в классе:
>>> k = pd.DataFrame()
>>> j = pd.DataFrame({'a': [2,4]})
>>> print(k.append(j))
a
0 2
1 4
Что вызывает разницу?Что я должен написать в result
, если я хочу, чтобы аргументы x
были добавлены в j
?
Большое спасибо заранее!