如何从 Python Pandas 系列或数据框中的一行中删除省略号,当长行/宽列被截断时显示?

Posted

技术标签:

【中文标题】如何从 Python Pandas 系列或数据框中的一行中删除省略号,当长行/宽列被截断时显示?【英文标题】:How to remove ellipsis from a row in a Python Pandas series or data frame, shown when long lines/wide columns are truncated? 【发布时间】:2014-01-28 12:16:25 【问题描述】:

当我创建以下 Pandas 系列时:

    pandas.Series(['a', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']

我得到了这个结果:

    0                                                    a
    1    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
    2    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
    3                                     aaaaaaaaaaaaaaaa
    4    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

我怎样才能得到一个没有省略号的系列,如下所示:

    0                                                                         a
    1    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    2         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    3                                                          aaaaaaaaaaaaaaaa
    4        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

【问题讨论】:

【参考方案1】:

pandas 正在截断输出,你可以改变这个:

In [4]:

data = pd.Series(['a', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'])

pd.set_option('display.max_colwidth',1000)

data

Out[4]:

0                                                                         a
1    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
3                                                          aaaaaaaaaaaaaaaa
4        aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
dtype: object

另见相关:Output data from all columns in a dataframe in pandas 和 Output data from all columns in a dataframe in pandas

顺便说一下,如果您使用的是 IPython,那么如果您进行文档字符串查找(通过按 tab),您将看到当前值和默认值(默认值为 50 个字符)。

对于早于 0.10 的 Pandas 版本,请使用

pd.set_printoptions(max_colwidth, 1000)

查看相关:Python pandas, how to widen output display to see more columns?

【讨论】:

对于较新版本的pandas,您应该直接使用pd.options.display.max_colwidth = 1000

以上是关于如何从 Python Pandas 系列或数据框中的一行中删除省略号,当长行/宽列被截断时显示?的主要内容,如果未能解决你的问题,请参考以下文章

python pandas:重命名数据框中的系列?

Python,pandas:如何从对称的多索引数据框中提取值

如何从 python pandas 中的另一个数据框中检索数据? [复制]

如何在python的pandas数据框中输入单个值

Python Pandas:如何从包含列表中值的数据框中删除所有列?

如何从python中的pandas数据框中的列中提取关键字(字符串)