Я пытаюсь создать класс, полученный из панд DataFrame. Каждый класс должен иметь атрибут типа string
, DataFrame
и list
. С атрибутом string
проблем нет, но DataFrame
и list
каждый вызывает предупреждение. Несмотря на предупреждения, код, кажется, ведет себя правильно.
Может кто-нибудь помочь мне исправить мой код? Или подавить предупреждения?
Код:
import pandas as pd
class MyClass(pd.DataFrame):
def __init__(self, arg_string, arg_dataframe, *arg_params):
pd.DataFrame.__init__(self)
self._string = arg_string
self._dataframe = arg_dataframe
self._params = arg_params
if __name__=='__main__':
df = pd.DataFrame()
c1 = MyClass("test", df, 1, 2, 3)
print(c1._string)
print(c1._dataframe)
print(c1._params)
Предупреждающее сообщение:
so_example.py:7: UserWarning: Pandas doesn't allow columns to be created via a new attribu
te name - see https://pandas.pydata.org/pandas-docs/stable/indexing.html#attribute-access
self._dataframe = arg_dataframe
so_example.py:8: UserWarning: Pandas doesn't allow columns to be created via a new attribu
te name - see https://pandas.pydata.org/pandas-docs/stable/indexing.html#attribute-access
self._params = arg_params
Stdout:
test
Empty DataFrame
Columns: []
Index: []
(1, 2, 3)