如何使用Pandas显示数据框中的所有行?

如何使用Pandas显示数据框中的所有行?

Pandas是一个强大且流行的Python数据处理库,提供了一种灵活和高效的处理和分析数据的方式。Pandas的关键功能之一是它的DataFrame对象,它是一个类似于电子表格或SQL表的二维表状数据结构。

在Jupyter笔记本或Python控制台中直接打印Pandas DataFrame时,当DataFrame有许多行时,它会自动截短显示输出。默认情况下,为了确保输出简洁且易于阅读,只显示有限数量的行和列。通过修改Pandas模块的max_rows和max_columns选项,可以更改默认行为。

使用to_string()或to_markdown函数显示所有行

在Pandas中,可以使用 to_string() 函数显示完整的数据框,即使它包含超过最大显示限制的大量行或列。默认情况下,当数据框包含的行或列超过指定的最大显示限制时,Pandas将截断数据框的输出。但是,to_string()函数允许显示数据框的所有行,无论其数量如何。

Pandas中的 to_markdown() 函数可用于将数据框转换为Markdown格式的表,可轻松在Jupyter笔记本、网站或README文件中显示。结果表易于阅读和理解,因为标题和值用管道分隔并对齐以提高可读性。此外,to_markdown()函数支持几个选项,以允许自定义输出,例如隐藏索引、指定对齐方式和自定义表头。

语法

使用Pandas显示数据框中的所有行,需要遵循以下语法−

print(pandas.dataFrameName.to_string())
或
print(pandas.dataFrameName.to_markdown())
Bash

要使用to_string()函数,只需在数据框上调用它,并使用print()函数显示生成的文本。此方法允许自定义输出,包括设置要显示的最大行数、指定列宽度和选择如何显示缺少的值等。

要使用 to_markdown() 函数,只需在数据框上调用它,并使用print()函数显示生成的文本。此方法也以更好的格式显示所有行的数据框。

实例

此代码将CSV数据导入到名为cricketers_df的Pandas数据框中,其中包含20名退休的板球运动员的详细信息。数据框的每一行代表一个板球运动员,包含他们的姓名、国家、首秀年份和退役年份。

最后,使用to_string()方法将整个数据框打印到控制台。该方法将数据框转换为可打印到控制台的字符串表示形式。因为使用了to_string()方法,所以我们可以看到所有行的数据框。

import pandas as pd
cricketers_df = pd.read_csv('cricketers.csv')
print(cricketers_df.to_string())
Bash

输出

                    名字          国家  出道年份  退役年份
0       Sachin Tendulkar         印度       1989           2013
1             Brian Lara  西印度群岛       1990           2007
2          Ricky Ponting        澳大利亚       1995           2012
3         Jacques Kallis      南非       1995           2014
4         Inzamam-ul-Haq       巴基斯坦      1991           2007
5      Sanath Jayasuriya       斯里兰卡      1989           2011
6   Muttiah Muralitharan       斯里兰卡      1992           2010
7            Shane Warne        澳大利亚       1992           2007
8          Glenn McGrath        澳大利亚       1993           2007
9            Anil Kumble        印度       1990           2008
10        Sourav Ganguly        印度       1992           2008
11          Rahul Dravid        印度       1996           2012
12            VVS Laxman        印度       1996           2012
13        Adam Gilchrist        澳大利亚       1996           2008
14        Matthew Hayden        澳大利亚       1994           2009
15            Mark Waugh        澳大利亚       1991           2002
16           Steve Waugh        澳大利亚       1985           2004
17       Michael Vaughan       英格兰       1999           2009
18       Andrew Flintoff       英格兰       1998           2009
19    Marcus Trescothick       英格兰       2000           2008
20       Kevin Pietersen       英格兰       2004           2018
Bash

实例

在该示例中,我们使用相同的数据,从现有的CSV文件中读取数据。这次,我们使用数据框架上的 to_markdown() 方法打印整个数据。

import pandas as pd
cricketers_df = pd.read_csv('cricketers.csv')
print(cricketers_df.to_markdown())
Bash

输出

|    | 名字                 | 国家      | 出道年份 | 退役年份 |
|---:|:---------------------|:-------------|-------------:|------------------:|
|  0 | Sachin Tendulkar     | 印度       |     1989 |          2013 |
|  1 | Brian Lara           | 西印度群岛 |     1990 |          2007 |
|  2 | Ricky Ponting        | 澳大利亚    |     1995 |          2012 |
|  3 | Jacques Kallis       | 南非       |     1995 |          2014 |
|  4 | Inzamam-ul-Haq       | 巴基斯坦    |     1991 |          2007 |
|  5 | Sanath Jayasuriya    | 斯里兰卡   |     1989 |          2011 |
|  6 | Muttiah Muralitharan | 斯里兰卡   |     1992 |          2010 |
|  7 | Shane Warne          | 澳大利亚    |     1992 |          2007 |
|  8 | Glenn McGrath        | 澳大利亚    |     1993 |          2007 |
|  9 | Anil Kumble          | 印度       |     1990 |          2008 |
| 10 | Sourav Ganguly       | 印度       |     1992 |          2008 |
| 11 | Rahul Dravid         | 印度       |     1996 |          2012 |
| 12 | VVS Laxman          |    | 名字                 | 国家      | 出道年份 | 退役年份 |
|---:|:---------------------|:-------------|-------------:|------------------:|
| 13 | Adam Gilchrist       | 澳大利亚    |     1996 |          2008 |
| 14 | Matthew Hayden       | 澳大利亚    |     1994 |          2009 |
| 15 | Mark Waugh           | 澳大利亚    |     1991 |          2002 |
| 16 | Steve Waugh          | 澳大利亚    |     1985 |          2004 |
| 17 | Michael Vaughan      | 英格兰      |     1999 |          2009 |
| 18 | Andrew Flintoff      | 英格兰      |     1998 |          2009 |
| 19 | Marcus Trescothick   | 英格兰      |     2000 |          2008 |
| 20 | Kevin Pietersen      | 英格兰      |     2004 |          2018 |
Bash

我们学习了如何使用Pandas的 to_string()to_markdown() 函数显示数据帧中的所有行。 to_string() 函数是处理大型数据帧的有用工具,因为它允许轻松可视化和分析数据帧中的所有数据。

不像 to_string() 只是以字符串的形式输出DataFrame,而是以markdown表格的形式输出。产生的表格易于阅读并具有专业外观。

通过更改默认打印设置显示所有行

Pandas的 option_context() 函数允许在指定的上下文中临时修改数据帧的显示选项。通过使用此函数,可以更改各种显示选项,例如要显示的最大行数和列数、每列的显示宽度以及浮点值的精度。使用option_context(),我们可以在不必永久更改选项的情况下临时修改显示选项来查看所有行或列。

在Pandas中, set_option() 是一种允许您设置不同选项以显示数据的方法。其中一个有用的选项是display.max_rows选项,它控制要在DataFrame中显示的最大行数。通过将此值设置为None,可以显示DataFrame中的所有行,使查看和分析数据更容易。

语法

要使用Pandas通过更改默认设置显示数据帧中的所有行,则需要遵循以下语法:

with pandas.option_context('display.max_rows', None,):
   print(dataframeName)
Bash

提供的语法将显示选项设置为在名为’dataframeName’的Pandas数据帧中显示所有行。option_context()函数临时设置了可以显示的最大行数为None,这意味着在打印数据帧时将显示数据帧中的所有行。

pandas.set_option('display.max_rows', None)
print(dataframeName)
Bash

要使用set_option(),只需传入要设置的选项及其值即可,如pd.set_option(‘display.max_rows’, None)。设置选项后,任何后续的DataFrame输出都将反映您所做的更改。此功能所做的更改是永久性的,直到再次更改为止。

示例

该代码读取CSV文件fruits.csv,并将其数据存储在fruits_df中,其中包含有关各种水果的数据,包括它们的名称、颜色、重量和价格。数据框有15个条目,每个条目代表不同的水果。

然后,该代码使用 option_context() 函数临时设置要在数据帧中显示的最大行数为None。这意味着在打印它时将显示数据框的所有15行,而不仅仅只是摘要。

最后,该代码使用print(fruits_df)打印fruits_df数据框,由于选项设置的原因,将显示所有15行。

import pandas as pd
fruits_df = pd.read_csv('fruits.csv')
with pd.option_context('display.max_rows', None,):
   print(fruits_df)
Bash

输出

     名称        颜色    重量(盎司)   价格($)
0        苹果     红色         4.0       0.50
1        橙子    橙色         6.0       0.40
2        香蕉    黄色         5.0       0.20
3        葡萄    绿色         3.0       0.30
4        菠萝   棕色        16.0       1.50
5        草莓     红色         1.0       0.10
6        西瓜    绿色       128.0       2.00
7         奇异果  棕色         3.0       0.30
8        芒果    橙色         8.0       1.00
9         梨        绿色         5.0       0.40
10       桃子    橙色         6.0       0.50
11       李子    紫色         4.0       0.40
12       樱桃     红色         0.5       0.10
13       蓝莓     蓝色         0.3       0.05
14       树莓     红色         0.2       0.05
Bash

示例

在此示例中,我们使用相同的水果数据,通过从CSV文件中读取它来使用它。 然后,我们使用set_option()来改变默认设置并打印整个数据。

import pandas as pd
fruits_df = pd.read_csv('fruits.csv')
pd.set_option('display.max_rows', None)
print(fruits_df)
Bash

输出

     名称        颜色    重量(盎司)   价格($)
0        苹果     红色         4.0       0.50
1        橙子    橙色         6.0       0.40
2        香蕉    黄色         5.0       0.20
3        葡萄    绿色         3.0       0.30
4        菠萝   棕色        16.0       1.50
5        草莓     红色         1.0       0.10
6        西瓜    绿色       128.0       2.00
7         奇异果  棕色         3.0       0.30
8        芒果    橙色         8.0       1.00
9         梨        绿色         5.0       0.40
10       桃子    橙色         6.0       0.50
11       李子    紫色         4.0       0.40
12       樱桃     红色         0.5       0.10
13       蓝莓     蓝色         0.3       0.05
14       树莓     红色         0.2       0.05
Bash

结论

我们了解了如何通过更改Pandas中的默认打印设置来显示数据帧中的所有行。 option_context()函数可以帮助改进数据帧的可读性和可用性,使分析大型数据集变得更加容易。 修改后的显示选项仅在指定的上下文中处于活动状态,并在退出上下文时返回原始设置。

set_option()方法与option_context类似,但唯一的缺点是它对打印设置进行永久更改,直到再次更改为止。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册