Pandas DataFrame结构对象常用的属性和方法

Pandas DataFrame是一个二维表结构,包含了行和列的标签,每一列可以有不同的数据类型。

以下是Pandas DataFrame结构对象常用的属性和方法:

DataFrame结构对象属性

DataFrame对象常用的属性有:

  • shape:返回DataFrame的形状(行数、列数)
  • index:返回DataFrame的行索引
  • columns:返回DataFrame的列索引
  • dtypes:返回DataFrame每列数据类型
  • values:返回DataFrame的值,以二维numpy数组形式表示

示例代码:

import pandas as pd
import numpy as np

# 创建DataFrame
data = {'name': ['Tom', 'Jack', 'Mary', 'Jane'],
        'age': [20, 21, 19, 20],
        'score': [80, 90, 85, 92]}
df = pd.DataFrame(data)

# 属性
print("DataFrame的形状为:", df.shape)
print("DataFrame的行索引为:", df.index)
print("DataFrame的列索引为:", df.columns)
print("DataFrame的每列数据类型为:", df.dtypes)
print("DataFrame的值为:", df.values)

输出结果为:

DataFrame的形状为: (4, 3)
DataFrame的行索引为: RangeIndex(start=0, stop=4, step=1)
DataFrame的列索引为: Index(['name', 'age', 'score'], dtype='object')
DataFrame的每列数据类型为: name     object
age       int64
score     int64
dtype: object
DataFrame的值为: [['Tom' 20 80]
 ['Jack' 21 90]
 ['Mary' 19 85]
 ['Jane' 20 92]]

DataFrame结构对象方法

DataFrame结构对象常用的方法有:

  • head():返回DataFrame前几行,默认返回前5行
  • tail():返回DataFrame后几行,默认返回后5行
  • info():返回DataFrame每列的数据类型、非空值个数、内存占用等信息
  • describe():返回DataFrame每列的统计信息,包括计数、均值、标准差、最小值、25%、50%、75%和最大值
  • sort_values():按指定列的值对DataFrame进行排序
  • dropna():删除缺失值
  • fillna():填充缺失值
  • groupby():按指定列分组
  • pivot_table():数据透视表
  • merge():按照指定列将两个DataFrame进行合并
  • join():按照索引将两个DataFrame进行合并

示例代码:

import pandas as pd
import numpy as np

# 创建DataFrame
data = {'name': ['Tom', 'Jack', 'Mary', 'Jane'],
        'age': [20, 21, 19, 20],
        'score': [80, 90, 85, 92]}
df = pd.DataFrame(data)

# 方法
print("DataFrame前2行为:", df.head(2))
print("DataFrame后2行为:", df.tail(2))
print("DataFrame的信息为:",df.info())
print("DataFrame的统计信息为:",df.describe())

print("按分数对DataFrame进行排序:",df.sort_values(by='score', ascending=False))

print("删除缺失值:",df.dropna())

print("填充缺失值为0:",df.fillna(value=0))

print("按照年龄进行分组:",df.groupby('age').sum())

print("数据透视表:",pd.pivot_table(df, values='score', index=['name'], columns=['age']))

df1 = pd.DataFrame({'name': ['Tom', 'Jack', 'Mary', 'Jane'], 'gender': ['M', 'M', 'F', 'F']})

print("合并两个DataFrame:",pd.merge(df, df1, on='name'))

df2 = pd.DataFrame({'gender': ['M', 'M', 'F', 'F'], 'income': [2000, 3000, 2500, 2800]})

print("按索引合并两个DataFrame:",df.join(df2))

输出内容为:

DataFrame前2行为:    name  age  score
0   Tom   20     80
1  Jack   21     90
DataFrame后2行为:    name  age  score
2  Mary   19     85
3  Jane   20     92
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   name    4 non-null      object
 1   age     4 non-null      int64 
 2   score   4 non-null      int64 
dtypes: int64(2), object(1)
memory usage: 224.0+ bytes
DataFrame的信息为: None
DataFrame的统计信息为:              age      score
count   4.000000   4.000000
mean   20.000000  86.750000
std     0.816497   5.377422
min    19.000000  80.000000
25%    19.750000  83.750000
50%    20.000000  87.500000
75%    20.250000  90.500000
max    21.000000  92.000000
按分数对DataFrame进行排序:    name  age  score
3  Jane   20     92
1  Jack   21     90
2  Mary   19     85
0   Tom   20     80
删除缺失值:    name  age  score
0   Tom   20     80
1  Jack   21     90
2  Mary   19     85
3  Jane   20     92
填充缺失值为0:    name  age  score
0   Tom   20     80
1  Jack   21     90
2  Mary   19     85
3  Jane   20     92
按照年龄进行分组:      score
age       
19      85
20     172
21      90
数据透视表: age     19    20    21
name                  
Jack   NaN   NaN  90.0
Jane   NaN  92.0   NaN
Mary  85.0   NaN   NaN
Tom    NaN  80.0   NaN
合并两个DataFrame:    name  age  score gender
0   Tom   20     80      M
1  Jack   21     90      M
2  Mary   19     85      F
3  Jane   20     92      F
按索引合并两个DataFrame:    name  age  score gender  income
0   Tom   20     80      M    2000
1  Jack   21     90      M    3000
2  Mary   19     85      F    2500
3  Jane   20     92      F    2800

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas DataFrame结构对象常用的属性和方法 - Python技术站

(2)
上一篇 2023年3月4日 下午12:55
下一篇 2023年3月4日

相关文章

  • 在Pandas DataFrame中应用if条件的方法

    当我们需要根据某种条件在Pandas DataFrame中对数据进行筛选或修改时,可以使用if条件来实现。 以下是在Pandas DataFrame中使用if条件的方法及示例: 方法一:使用DataFrame的apply函数 我们可以使用apply函数,将自定义的lambda函数应用到每个元素上,然后返回一个新的DataFrame。在该lambda函数中,我…

    python-answer 2023年3月27日
    00
  • 如何将 Pandas 系列转换为 Python 列表

    将 Pandas 数据结构转换为 Python 标准数据结构的操作是非常重要的,因为它允许你在 Pandas 和其他 Python 库之间自由地进行数据交换和操作。 在 Pandas 中,Series 是一种带有标签的一维数组,可以将 Pandas Series 数据结构转换为列表,可以使用 pandas.Series.values 属性或 tolist()…

    python-answer 2023年3月27日
    00
  • 使用Pandas apply()方法返回多列数据

    Pandas是Python中一个非常流行的数据处理和分析库,也是数据分析中不可或缺的组件之一。在使用Pandas的过程中,我们常常需要进行一些复杂的数据转换和处理操作。Pandas提供了很多灵活和强大的方法和函数,其中之一就是apply()方法。apply()方法可以接受一个自定义的函数,并且可以返回多列数据。本文就详细讲解如何使用apply()方法返回多列…

    python-answer 2023年3月27日
    00
  • 在Pandas数据框架中对数值进行四舍五入的方法

    在Pandas数据框架中对数值进行四舍五入可以使用round()方法。该方法用于对数据框架中数值进行准确的四舍五入。 例如,我们有一个如下的数据框架: import pandas as pd # 创建一个数据框架 df = pd.DataFrame({ ‘名称’: [‘苹果’, ‘橘子’, ‘香蕉’, ‘菠萝’], ‘价格’: [3.14159, 1.234…

    python-answer 2023年3月27日
    00
  • Pandas分组与排序的实现

    当我们对一个大型数据集进行分析时,经常需要使用分组和排序这两种操作。在Python的Pandas库中,提供了很多方便的方式来实现这两种操作,本文将会详细讲解如何使用Pandas来分组和排序数据。 分组操作 直接使用groupby函数 groupby函数可以将数据按照某一列或多列进行分组,并返回一个DataFrameGroupBy对象。该对象可以被用于多种操作…

    python 2023年5月14日
    00
  • python用pandas读写和追加csv文件

    下面是关于“python用pandas读写和追加csv文件”的完整攻略。 一、Pandas简介 Pandas是一种用于数据分析的Python库,广泛应用于数据清洗和数据处理场景中,其主要作用是对数据进行处理和分析。Pandas支持多种数据格式,包括CSV、Excel、SQL等数据格式。 二、读取CSV文件 在Python中,使用Pandas读取CSV文件非常…

    python 2023年5月14日
    00
  • 在Python中找出是某个数字的倍数的位置

    在Python中找出某个数字的倍数的位置可以通过以下步骤实现: 创建一个空数组或列表,用于存储找到的位置 遍历原始数组或列表,判断每个数是否为目标数字的倍数 如果是目标数字的倍数,将该数的位置添加到第1步中创建的数组或列表中 返回第1步中创建的数组或列表,其中存储的是目标数字的倍数位置 下面是一个使用 Python 代码示例的完整攻略: # 定义原始数组 n…

    python-answer 2023年3月27日
    00
  • Python中的pandas.isna()函数

    当我们在处理数据的时候,经常会遇到一些缺失值(NaN,None),这些缺失值会导致很多问题和错误,比如计算结果不准确,无法进行可视化,等等。而pandas库中的isna()函数就可以非常方便地判断一个数据是否为缺失值。 函数用法 pandas.isna(obj) 该函数的作用是判断数据是否为缺失值。 参数说明 obj:要判断的数据。 返回值 如果数据是缺失值…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部