如何从控制台打印/提取所有行和列?

时间:2019-07-17 18:51:58

标签: python python-3.x pandas numpy pycharm

我想从结果数据中打印或提取所有列和行。数据为61行和列。控制台显示6或7列和7行,其余的点用点填充,但我需要获取所有数字。我在控制台中上传了我的数据图像。 Image of the data with dots and missing columns and rows.

我们非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

签出Pandas documentation。您应该可以像这样设置max_rowsmax_columns的显示:

import pandas as pd

pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)

如文档中所述,None将限制设置为无限制。警告:您将很快用大帧填充控制台。

如果您的栏目特别宽,则可能需要修改display.max_colwidth

答案 1 :(得分:0)

最近我遇到了类似情况。我只需要一种快速简便的方法来查看特定的列。

相关性警告:必须安装Pandoc

此代码包括创建61x61数据帧。将打开一个子进程。 Pandocs将数据帧从LaTex格式转换为Markdown表格式。 awk用于从输出中切片列。 less对输出进行分页。

例如,要检查第10列,我在终端中执行了以下命令:python print_pandas.py | awk '{ print $10 }' | less

相应地更改$10的值。

# contents of print_pandas.py
from subprocess import PIPE, Popen
import shlex

import numpy as np
import pandas as pd

# Create a large random data frame.
df = pd.DataFrame([np.random.uniform(size=61) for _ in range(61)])

s = df.to_latex()
p = Popen(shlex.split('pandoc -f latex -t markdown'),
          stdin=PIPE, stdout=PIPE)
stdoutdata, _ = p.communicate(input=s.encode("utf-8"))
print(stdoutdata.decode("utf-8"))

Output in terminal