我在这里查看 gota 数据框中的打印界面: https://github.com/kniren/gota/blob/master/dataframe/dataframe.go#L99
我看到默认值是 shortCols = true,给定 here .
当我调用打印数据框时,如何覆盖此值以在打印时使用 shortCols = false 进行打印?
fmt.Println(fil)
例如,我想打印所有列,而不仅仅是前 5 列,因为上面的结果如下:
[31x16] DataFrame
valA valB valC valD valE ...
0: 578 8.30 491 7959 1.040000 ...
1: 577 8.30 291 7975 2.050000 ...
2: 466 16.7 179 6470 3.210000 ...
3: 592 9.03 194 8212 4.040000 ...
最佳答案
如果不修改库,您将无能为力。
如果修改库是一个选项,您有几种可能性:
更改内部格式化函数的名称,以便将其导出并调用它。这需要做更多的工作,因为每次要打印
DataFrame
时都需要显式调用一个函数,但如果您想对库的工作方式进行最少的更改,这是一个合理的选择.基本上将第 101 行和第 104 行的
print
更改为Print
(我认为这是该函数唯一出现的地方;如果不是,编译器会很乐意指出其他:P)在
df.String
的定义中将参数更改为df.print
。这确实是微不足道的,但它具有改变默认行为的效果,这可能是好事,也可能不是好事。对于此选项,只需更改第 101 行以返回
df.print(true, false, true, true, 10, 70, "DataFrame")
或满足您需要的任何组合。为您想要的每种打印格式添加一个新方法,并显式调用这些新方法。这比 #1 或 #2 工作更多,但有些人可能更喜欢它。
就个人而言,我会选择 #1,但你的问题让 #2 听起来更像你想要的。
关于dataframe - 修改go中Stringer接口(interface)中的一个默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46750900/