0

我在这里查看 gota 数据框中的打印界面: https ://github.com/kniren/gota/blob/master/dataframe/dataframe.go#L99

我看到默认值为 shortCols = true,这里给出。

当我调用打印数据框时,如何在 println 时覆盖此值以使用 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    ...
4

1 回答 1

1

如果不修改库,您将无能为力。

如果修改库是一个选项,您有几种可能性:

  1. 更改内部格式化函数的名称,以便将其导出并调用它。这需要做更多的工作,因为每次要打印 a 时都需要显式调用一个函数DataFrame,但如果您想对库的工作方式进行最小的更改,这是一个合理的选择。

    基本上更改printPrint第 101 和 104 行(我认为这些是该函数的唯一出现;如果不是,编译器会很乐意指出其他:P)

  2. df.print将的定义中的参数更改为df.String。这是微不足道的,但它具有改变默认行为的效果,这可能是也可能不是一件好事。

    对于此选项,只需将第 101 行更改为 returndf.print(true, false, true, true, 10, 70, "DataFrame")或任何适合您需要的组合。

  3. 为您想要的每种打印格式添加一个新方法,并显式调用这些新方法。这比#1 或#2 更有效,但有些人可能更喜欢它。

就个人而言,我会选择#1,但你的问题使#2 听起来更像你想要的。

于 2017-10-15T07:35:10.303 回答