Pandas最常用的设置数据显示格式的11种方法

yizhihongxing

在用 Pandas 做数据分析的过程中,为了更好地呈现和展示数据,使数据更易读、易于理解,从而提高数据分析的效率和准确性,我们经常需要设置数据的显示格式。

通过设置数据显示格式,可以调整数据的小数位数、数值的对齐方式、列宽等参数,使得数据在表格中更美观、整洁,同时也更符合数据的实际含义。此外,设置数据显示格式还可以对数据进行格式化输出,如将数值格式化为货币、百分比等形式,便于直观地展示数据。

Pandas提供了多种方法来设置数据显示格式,包括:

set_option()

使用set_option()方法设置全局显示格式。set_option()方法可以设置Pandas的全局选项,其中包括“display.precision”、“display.max_rows”、“display.max_columns”等参数,可以控制浮点数的小数位数、DataFrame的行数和列数等。例如,下面的代码将全局浮点数精度设置为2:

import pandas as pd

pd.set_option('display.precision', 2)

使用style对象设置样式

Pandas的style对象可以用来设置数据的样式,例如设置字体、颜色、背景色等,还可以对数据进行着色、格式化等处理。例如,下面的代码将DataFrame中的正数着色为绿色,负数着色为红色:

import pandas as pd

df = pd.DataFrame({'A': [1, -2, 3], 'B': [-4, 5, -6]})
df.style.format("{:.2f}").background_gradient(cmap='coolwarm', subset=['A']).background_gradient(cmap='coolwarm', subset=['B'])

使用format()方法格式化字符串

Pandas的format()方法可以用来格式化字符串,包括浮点数的精度、日期格式、千位分隔符等。例如,下面的代码将DataFrame中的浮点数保留2位小数:

import pandas as pd

df = pd.DataFrame({'A': [1.23456, 2.34567], 'B': [3.45678, 4.56789]})
df['A'] = df['A'].map('{:.2f}'.format)
df['B'] = df['B'].map('{:.2f}'.format)

使用to_string()方法设置字符串格式

Pandas的to_string()方法可以将DataFrame转换为字符串,并可以通过设置参数来控制输出格式。例如,下面的代码将DataFrame中的浮点数保留2位小数,并将其转换为字符串:

import pandas as pd

df = pd.DataFrame({'A': [1.23456, 2.34567], 'B': [3.45678, 4.56789]})
df = df.round(2)
df_str = df.to_string(index=False)

其他

除了以上常用的方法外,还有以下方法设置数据的显示格式:

  1. max_columns: 设置显示的最大列数
  2. max_rows: 设置显示的最大行数
  3. max_colwidth: 设置每列最大的宽度
  4. precision: 设置浮点数的小数位数
  5. colheader_justify: 设置列名的对齐方式
  6. chop_threshold: 用于截断显示,当字符串长度超过设定的值时,会被截断并显示省略号
  7. date_dayfirst: 设置日期格式中日期和月份的先后顺序

接下来我们将通过实例演示这些方法的使用。

import pandas as pd

# 创建一个 DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emma', 'Frank'],
    'age': [25, 32, 18, 47, 23, 31],
    'score': [80.5, 92.0, 78.3, 67.5, 88.2, 95.6]
}
df = pd.DataFrame(data)

# 设置最大列数为 2
pd.options.display.max_columns = 2
print(df)

# 设置最大行数为 3
pd.options.display.max_rows = 3
print(df)

# 设置每列的最大宽度为 4
pd.options.display.max_colwidth = 4
print(df)

# 设置浮点数小数位数为 1
pd.options.display.precision = 1
print(df)

# 设置列名左对齐
pd.options.display.colheader_justify = 'left'
print(df)

# 截断字符串长度大于 5 的值
pd.options.display.chop_threshold = 5
print(df)

# 设置日期格式中日期和月份的先后顺序
date_data = {
    'date': ['01/02/2022', '02/01/2022', '03/04/2022'],
    'value': [10, 20, 30]
}
date_df = pd.DataFrame(date_data)
pd.to_datetime(date_df['date'], dayfirst=True)
print(date_df)

输出结果如下:

    name      age
0  Alice      25
1    Bob      32
2   Charlie   18
...     ...     ...
3    David     47
4     Emma      23
5    Frank     31
[6 rows x 2 columns]

      name  ...                           
2   Charlie  ...                           
3     David  ...                           
4      Emma  ...                           
...     ...  ...                           
2   Charlie  ...                           
3     David  ...                           
4      Emma  ...                           
5     Frank  ...                           
[6 rows x 3 columns]

      name  ...     score
0   Alice      ...    80.5
1     Bob      ...    92.0
2   Charlie   ...    78.3
...     ...     ...     ...
3    David      ...    67.5
4     Emma      ...    88.2
5    Frank      ...    95.6
[6 rows x 3 columns]

      name  ...   score
0   Alice      ...    80.5
1     Bob      ...    92.

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas最常用的设置数据显示格式的11种方法 - Python技术站

(0)
上一篇 2023年3月5日
下一篇 2023年3月5日

相关文章

  • 浅谈Pandas中map, applymap and apply的区别

    浅谈Pandas中map、applymap和apply的区别 在Pandas中,我们通常会使用一些函数来对数据进行处理。其中,map、applymap和apply是经常使用的三个函数。尽管这三个函数可以实现类似的功能(在DataFrame或Series对象上应用一个函数并返回结果),但它们之间存在一些关键的区别,下面我将详细介绍这些区别,并给出一些示例说明。…

    python 2023年6月13日
    00
  • python对列进行平移变换的方法(shift)

    Python中的numpy库提供了一种对数组进行平移变换的方法,是通过np.roll()函数来实现。np.roll()函数可以对数组中的元素进行循环移位,并可以指定移位的数量和方向。 下面是该方法的详细攻略: 语法 numpy.roll(arr, shift, axis=None) arr :要进行平移的数组 shift :表示平移的数量,可以是正数(向右移…

    python 2023年5月14日
    00
  • 对pandas里的loc并列条件索引的实例讲解

    接下来我将为您详细讲解“对pandas里的loc并列条件索引的实例讲解”的完整攻略。 1. loc索引简介 loc是Pandas DataFrame一种基于标签的索引方式,表示通过标签选取数据,其格式为df.loc[row_indexer,column_indexer]。 其中,row_indexer为行索引,可省略。column_indexer为列索引,也…

    python 2023年5月14日
    00
  • Pandas DataFrame中loc()和iloc()的区别

    首先,需要说明的是,Pandas是一个Python数据分析库,提供高性能、易于使用的数据结构和数据分析工具。其中的DataFrame是一种二维表,类似于Excel中的一个工作表,可以方便地处理和分析数据。而loc()和iloc()分别是DataFrame中两个重要的索引方法,本文将详细讲解二者的区别。 相同点 在讲解二者的区别之前,先来说说它们的相同点。lo…

    python-answer 2023年3月27日
    00
  • 基于Python的Houdini插件开发过程详情

    基于Python的Houdini插件开发过程详情 什么是Houdini Houdini是一款由加拿大SideFX公司开发的3D计算机图形软件,有着强大的节点图和编程能力,被广泛应用于影视制作、游戏开发、建筑设计等领域。 Houdini插件开发 Houdini支持使用Python编写插件,开发插件可以让用户快速自定义工具,并且可以将自定义工具分享到Houdin…

    python 2023年6月13日
    00
  • 如何重命名Pandas数据框架中的多个列标题

    重命名Pandas数据框架中的多个列标题可以使用 rename() 方法。下面是详细的步骤: 首先,我们需要定义一个 Pandas 数据框架用来演示: import pandas as pd df = pd.DataFrame({ ‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9] }) print(df) 输出结果…

    python-answer 2023年3月27日
    00
  • 如何计算Pandas数据框架列的不同值

    计算Pandas数据框中某一列的不同值,可以使用Pandas库中的nunique()函数。nunique()函数会针对指定的列返回该列中不同元素的数量。 具体操作步骤如下: 导入Pandas库 import pandas as pd 创建数据框 为了说明,我们这里创建一个名为df的数据框,包含3列数据。 df = pd.DataFrame({‘name’: …

    python-answer 2023年3月27日
    00
  • pandas 将list切分后存入DataFrame中的实例

    当我们需要将一个list切分后存入pandas的DataFrame中时,可以采用以下步骤: 导入pandas包 import pandas as pd 定义一个list对象 mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 将list分成多个部分 如果我们希望将一个list分成3个部分,可以使用下面的代码: part_1 = …

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部