我想用保留的数据类型创建一个空的 df 作为模板。代码如下:
import pandas as pd
import datetime
from dataclasses import dataclass
@dataclass
class openorder:
symbol: str = "dummy"
sectype: str = "stk"
dt: datetime.datetime = datetime.datetime.now()
price: float = 0.0
status: str = none
def empty(self):
open_ord = self()
empty_df = pd.dataframe([open_ord.__dict__])
return empty_df.iloc[0:0]
实例化有效,但清空无效。
open_order = OpenOrder()
order_df = open_order.empty()
我怎样才能做到这一点?
正确答案
您不能调用 self()
,因为 self
是对对象的引用,而不是对类的引用。只需使用
def empty(self):
empty_df = pd.DataFrame([self.__dict__])
return empty_df.iloc[0:0]