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

yizhihongxing

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查询数据df.query的使用

    下面是Pandas查询数据df.query的完整攻略: 什么是df.query? Pandas中的数据框(DataFrames)可以使用query函数从数据结构中查询子集。query 函数使用字符串表达式来查询数据框中的行。使用此函数可以通过快速应用自然语言查询语句来过滤数据,这使得文本搜索变得容易。 df.query语法 使用df.query()函数可以接…

    python 2023年5月14日
    00
  • Python一键生成核酸检测日历的操作代码

    下面是Python一键生成核酸检测日历的操作代码详细攻略。 一、准备工作 1.1 安装依赖库 在使用Python一键生成核酸检测日历之前,需要安装相关的依赖库,包括ics、pytz、icalendar等。可以通过以下命令来安装: pip install ics pytz icalendar 1.2 获取核酸检测数据 在进行操作之前,需要先获取核酸检测的数据,…

    python 2023年5月14日
    00
  • Python Pandas读取csv/tsv文件(read_csv,read_table)的区别

    当使用Python Pandas库读取文本文件时,可以使用read_csv()和read_table()两种函数。它们的区别在于默认使用的分隔符不同。 read_csv()函数默认使用逗号作为分隔符,可以读取以.csv格式保存的文件。而read_table()函数默认使用制表符作为分隔符,可以读取以.tsv格式保存的文件。 另外,这两个函数还可以通过参数进行…

    python 2023年5月14日
    00
  • Python中的pandas.merge_asof()函数

    pandas.merge_asof()函数是pandas库中的一个非常实用的函数,用于根据时间戳将两个数据集进行合并。该函数可以很好地处理时间戳不完全匹配的情况,并进行模糊匹配。下面是使用pandas.merge_asof()函数的详细攻略: 函数概述 pandas.merge_asof(left, right, on=None, left_on=None,…

    python-answer 2023年3月27日
    00
  • 在Jupyter笔记本中显示Pandas DataFrame的所有列

    我来为您讲解在Jupyter笔记本中显示Pandas DataFrame的所有列的攻略。 首先,我们需要了解Jupyter Notebook中的一些常用设置和命令。 设置显示所有列 Pandas DataFrame默认只显示部分列和部分行,如果想要显示所有列,我们可以使用以下代码: pd.set_option(‘display.max_columns’, N…

    python-answer 2023年3月27日
    00
  • Python Pandas学习之基本数据操作详解

    Python Pandas学习之基本数据操作详解 基础知识 首先我们需要导入Pandas模块,并创建一个DataFrame对象: import pandas as pd data = {‘name’: [‘Tom’, ‘Jerry’, ‘Lucy’], ‘age’: [20, 24, 22], ‘score’: [80, 78, 85]} df = pd.D…

    python 2023年5月14日
    00
  • python绘制箱型图

    下面是Python绘制箱型图的完整攻略: 一、简介 箱型图(Box plot)是一种用来展示一个数据集分散情况的统计图表。它主要用来展示多个数据集之间的比较,其中包括了最大值、最小值、中位数和四分位数(上四分位数和下四分位数)。箱型图的绘制依赖于matplotlib库。 二、箱型图的使用 1. 导入库 绘制箱型图前,需要导入numpy和matplotlib库…

    python 2023年6月13日
    00
  • Pandas操作MySQL的方法详解

    这里提供一份Pandas操作MySQL的方法详解,具体步骤如下: 1. 安装必要的Python库 要使用Pandas操作MySQL,需要安装一些必要的Python库,包括: Pandas PyMySQL 可以通过以下命令安装: pip install pandas pip install pymysql 2. 连接MySQL数据库 在Python中,连接My…

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