【发布时间】:2018-04-09 12:03:46
【问题描述】:
我根本不习惯 pandas,所以我的问题有几个问题。
我有一个函数计算一个名为solutions 的列表。此列表可以由 3 个值的元组组成 (a, b, c) 或为空。
solutions = [(a,b,c), (d,e,f), (g,h,i)]
为了保存,我先把它变成一个numpy数组,然后在命名列后用pandas保存。
solutions = np.asarray(solutions)
df = pd.DataFrame(solutions)
df.columns = ["Name1", "Name2", "Name3"]
df.to_pickle(path)
我的问题是我有时有一个空的解决方案列表:solutions = []。因此,df.columns 行会引发错误。为了绕过它,我目前检查解决方案的大小,如果它是空的,我会这样做:
pickle.dump([], path, "wb")
我希望我的数据类型之间更加一致,并在两种方案之间保存相同的格式。
=> 如果列表为空,我想用空数据框保存 3 列名称。最终目标是使用pd.read_pickle() 重新打开文件并轻松访问其中的数据。
第二个问题,我想重新打开腌制的文件,并添加一列。你能告诉我这样做的正确方法吗?
第三个问题,如何选择数据框的一部分。例如,我想要 Name1 value % 0.25 == 0 列所在的所有行。
谢谢
【问题讨论】:
-
您能否提供实际将列表
solutions插入DataFramedf的代码? -
@PeterLeimbigler 是的,编辑完成,我在示例中遗漏了一行,抱歉。