Я хочу определить класс, который не наследуется от pandas.DataFrame
, но иногда действует как он. Например, я могу сделать:
import pandas
import numpy
class FalseDF(object):
def __init__(self, df):
self.df = df
def __getitem__(self, item):
return self.df.__getitem__(item)
df = pandas.DataFrame(numpy.reshape(numpy.arange(10), (2, 5)))
print(df)
, что дает:
0 1 2 3 4
0 0 1 2 3 4
1 5 6 7 8 9
и сейчас:
fdf = FalseDF(df)
print(fdf[3])
дает:
0 3
1 8
Name: 3, dtype: int64
Как теперь сделать так, чтобы следующий синтаксис также работал?
print(fdf.iloc[1])
или
print(fdf.loc[2])