【发布时间】:2019-03-27 21:32:24
【问题描述】:
在将 csv 数据加载到现有 pandas 数据帧后,我正在尝试向其中添加额外的索引行。
假设我这样加载数据:
columns = ['Relative_Pressure','Volume_STP']
df = pd.read_csv(StringIO(contents), skiprows=4, delim_whitespace=True,index_col=False,header=None)
df.columns = columns
其中contents 是 csv 格式的字符串。生成的 DataFrame 可能如下所示:
为了清楚起见,我现在想向 DataFrame 添加额外的索引行,如 here 所示:
但是,在链接中,这些多个索引行是在创建 DataFrame 时生成的。我想添加例如unit 或 descr 的行到列。
我该怎么做?
【问题讨论】:
-
您的链接提供的解决方案看起来很巧妙,而且有点过分。将多索引用于元数据存储对性能和未来更新的次优可维护性具有重要影响。最简单的解决方案是为数据提供自述文件。更好的解决方案是创建一个子类,但只添加一个带有 print_metadata 的
metadata属性来打印它。您可以选择覆盖__str__和__unicode__以首先打印元数据,然后是super().__str__和super().__unicode__。但是,如果您要分发包含数据的库,则给他们提供文本 README 会更容易。