保留数据类型的空 pandas 数据框
问题内容
我想用保留的数据类型创建一个空的 df 作为模板。代码如下:
import pandas as pdimport datetimefrom dataclasses import dataclass@dataclassclass 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]