Я пытаюсь разработать собственный метод доступа к фреймам данных для pandas
и столкнулся с проблемой, которую я не знаю, как решить.
Мой метод доступа должен загружать данные из пользовательского источника, и я планировал назначить этизначения DataFrame
для которого вызывается метод доступа. Но когда я присваиваю свой недавно созданный информационный фрейм экземпляру информационного фрейма, у меня ничего не происходит.
Я предполагаю, что это из-за того, что я создаю новый экземпляр информационного фрейма вместо повторного использования старого.
Есть ли какой-нибудь изящный способ сохранить экземпляр фрейма данных и загрузить туда информацию?
Вот мой код, как я сейчас к нему подхожу:
import pandas
import numpy
@pandas.api.extensions.register_dataframe_accessor("test")
class TestAccessor:
def __init__(self, obj: pandas.DataFrame) -> None:
self.data = obj
def read(self) -> None:
# Creates dataframe with three columns `X, Y, Z`
self.data = pandas.DataFrame(numpy.random.randint(0,100,size=(100, 3)), columns=list('XYZ'))
# Creates dataframe with three columns `A, B, C`
data = pandas.DataFrame(numpy.random.randint(0,100,size=(100, 3)), columns=list('ABC'))
# Suppose to load dataframe with columns `X, Y, Z`
data.test.read()
# Will show dataframe with columns `A, B, C`
print (data)
Есть ли способ, как этоможет быть исправлено? Как лучше всего подойти к этой проблеме?