浅析pandas 数据结构中的DataFrame

以下是浅析 Pandas 数据结构中的 DataFrame 的完整攻略。

什么是DataFrame

DataFrame 是 Pandas 库中最常用的数据结构之一,类似于 Excel 中的数据表格。DataFrame 可以看作是由多个 Series 组成的,每个 Series 代表着一列数据,而 DataFrame 中的每行数据则对应着多个 Series 中相同位置的元素。

创建DataFrame

创建 DataFrame 的方法有很多种,最常见的方法是通过传入字典来创建,例如:

import pandas as pd

data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [28, 21, 32],
        '性别': ['男', '女', '男']}
df = pd.DataFrame(data)
print(df)

输出结果为:

   姓名  年龄 性别
0  张三  28  男
1  李四  21  女
2  王五  32  男

索引DataFrame

DataFrame 的索引方式有两种,一种是使用 loc,另一种是使用 iloc

loc 为例,如果我们想查看第一行数据,我们可以这样写:

first_row = df.loc[0]
print(first_row)

输出结果为:

姓名    张三
年龄    28
性别     男
Name: 0, dtype: object

修改DataFrame

DataFrame 中的数据是可以修改的,例如我们想将张三的年龄修改为 30,我们可以这样写:

df.loc[0, '年龄'] = 30
print(df)

输出结果为:

   姓名  年龄 性别
0  张三  30  男
1  李四  21  女
2  王五  32  男

示例说明

下面再举两个实际的例子来说明 DataFrame 的用法。

示例一

假设我们有一组关于学生体育成绩的数据,如下:

学号 姓名 年级 班级 性别 身高 体重 800m (s) 铅球(m)
001 张三 一年级 1 班 175 70 140 12
002 李四 二年级 3 班 163 50 180 8
003 王五 三年级 2 班 155 45 160 9
004 赵六 一年级 1 班 180 75 150 10
005 钱七 二年级 3 班 168 60 170 7

我们可以将这些数据读入到 DataFrame 中:

import pandas as pd

data = pd.read_excel('students_scores.xlsx')
df = pd.DataFrame(data)
print(df)

如果将上面的数据保存在students_scores.xlsx文件中,那么这段代码会输出如下内容:

   学号  姓名   年级   班级 性别   身高  体重  800m (s)  铅球(m)
0    1  张三  一年级  1 班  男  175  70        140      12
1    2  李四  二年级  3 班  男  163  50        180       8
2    3  王五  三年级  2 班  女  155  45        160       9
3    4  赵六  一年级  1 班  男  180  75        150      10
4    5  钱七  二年级  3 班  女  168  60        170       7

我们还可以使用 describe() 方法查看这些数据的基本统计信息:

print(df.describe())

输出结果为:

            学号          身高         体重    800m (s)     铅球(m)
count  5.000000    5.000000   5.000000     5.000000   5.000000
mean   3.000000  168.200000  60.000000   160.000000   9.200000
std    1.581139    9.183772  14.142136    22.023747   2.774887
min    1.000000  155.000000  45.000000   140.000000   7.000000
25%    2.000000  163.000000  50.000000   150.000000   8.000000
50%    3.000000  168.000000  60.000000   160.000000   9.000000
75%    4.000000  175.000000  70.000000   170.000000  10.000000
max    5.000000  180.000000  75.000000   180.000000  12.000000

示例二

假设我们有一个有关电影票房收入的数据集,如下:

电影名称 票房收入(万元) 上映天数 评分
复仇者联盟4:终局之战 42949 92 8.4
哪吒之魔童降世 36287 161 8.7
飞驰人生 20436 108 7.9
红海行动 15230 82 8.0
我和我的祖国 15204 80 8.0
美人鱼 14492 67 6.0
海王 13772 68 7.1
武林外传 12109 53 8.9
煎饼侠 10533 27 6.0
战狼2 9846 70 6.0

我们可以将这些数据读入到 DataFrame 中:

import pandas as pd

data = {'电影名称': ['复仇者联盟4:终局之战', '哪吒之魔童降世', '飞驰人生', '红海行动', '我和我的祖国', '美人鱼', '海王', '武林外传', '煎饼侠', '战狼2'],
        '票房收入(万元)': [42949, 36287, 20436, 15230, 15204, 14492, 13772, 12109, 10533, 9846],
        '上映天数': [92, 161, 108, 82, 80, 67, 68, 53, 27, 70],
        '评分': [8.4, 8.7, 7.9, 8.0, 8.0, 6.0, 7.1, 8.9, 6.0, 7.0]}
df = pd.DataFrame(data)
print(df)

输出结果为:

             电影名称  票房收入(万元)  上映天数   评分
0  复仇者联盟4:终局之战        42949     92  8.4
1        哪吒之魔童降世        36287    161  8.7
2            飞驰人生        20436    108  7.9
3            红海行动        15230     82  8.0
4         我和我的祖国        15204     80  8.0
5              美人鱼        14492     67  6.0
6               海王        13772     68  7.1
7            武林外传        12109     53  8.9
8              煎饼侠        10533     27  6.0
9              战狼2         9846     70  7.0

我们可以根据票房收入对电影进行排序:

df = df.sort_values('票房收入(万元)', ascending=False)
print(df)

输出结果为:

             电影名称  票房收入(万元)  上映天数   评分
0  复仇者联盟4:终局之战        42949     92  8.4
1        哪吒之魔童降世        36287    161  8.7
2            飞驰人生        20436    108  7.9
3            红海行动        15230     82  8.0
4         我和我的祖国        15204     80  8.0
5              美人鱼        14492     67  6.0
6               海王        13772     68  7.1
7            武林外传        12109     53  8.9
8              煎饼侠        10533     27  6.0
9              战狼2         9846     70  7.0

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析pandas 数据结构中的DataFrame - Python技术站

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

相关文章

  • matlab、python中矩阵的互相导入导出方式

    在Matlab和Python中,可以非常方便地完成矩阵数据的互相导入和导出。以下是两个示例用于说明这些操作的详细步骤: 导出Matlab矩阵到Python Matlab中使用save函数将矩阵数据保存到.mat格式文件中,Python使用scipy库中的loadmat函数可以加载这些文件。 例如,我们要将一个名为“data”的Matlab矩阵导出到Pytho…

    python 2023年6月14日
    00
  • 基于pandas向csv添加新的行和列

    下面是详细讲解基于pandas向csv添加新的行和列的完整攻略,主要分为两部分内容: 添加新的行 向csv文件添加新的行,一般需要先将csv文件读入到pandas DataFrame对象中,然后将新的行添加到DataFrame中,最后将DataFrame写回到csv文件中。 具体步骤如下: 导入pandas模块 import pandas as pd 读取c…

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

    当需要对数据进行分类汇总时,可以使用Python中的pandas.crosstab()函数。该函数可以将两个或多个变量之间的关系转换为交叉类型表格。 以下是该函数的详细说明: pandas.crosstab()函数 crosstab(index, columns, values=None, rownames=None, colnames=None, aggf…

    python-answer 2023年3月27日
    00
  • 解决使用pandas聚类时的小坑

    针对“解决使用pandas聚类时的小坑”的问题,我给出以下完整攻略: 1. 读取数据 首先需要读取需要聚类的数据。可以使用Pandas库提供的read方法读取CSV、Excel、SQL、HTML等不同格式的数据。 例如,我们可以使用以下代码读取CSV文件: import pandas as pd df = pd.read_csv(‘data.csv’) 2.…

    python 2023年5月14日
    00
  • 用Python Pandas操纵数据框架

    下面是详细讲解用Python Pandas操纵数据框架 的完整攻略,过程中实例说明: 什么是Pandas Pandas是一个开源数据分析工具,提供了大量高级数据结构和数据分析工具。其中,最重要的是DataFrame数据结构,可以方便、快捷的进行数据的清洗、转换、统计、分组、排序等一系列操作。 安装Pandas 使用pip命令安装Pandas即可: pip i…

    python-answer 2023年3月27日
    00
  • 对Pandas数据框架中的每一行应用函数

    在使用 Pandas 进行数据分析时,操作 DataFrame 中的每一行是一个常见的需求,可以使用 apply() 函数来实现。 apply() 函数可以将一个自定义函数应用到每一行或列上,函数可以是任何可以操作一个 Series 的函数。 具体的操作步骤如下: 定义自定义函数 首先需要定义一个自定义的函数,该函数应该有一个参数并返回一个值。在该函数中,我…

    python-answer 2023年3月27日
    00
  • Pandas和Numpy的区别

    Pandas和Numpy都是Python数据处理和计算的重要工具库。虽然在某些方面它们的功能有所重叠,但是它们的主要用途和特点有很大区别。 数据结构的不同 Pandas和Numpy使用的数据结构不同。Numpy主要使用ndarray(多维数组)这种数据结构,而Pandas则使用Series和DataFrame这两种数据结构。Series是一维的数据结构,类似…

    python-answer 2023年3月27日
    00
  • 将pymysql获取到的数据类型是tuple转化为pandas方式

    将pymysql获取到的数据类型是tuple转化为pandas方式需要经过以下步骤: 步骤一:导入相关的python模块 使用Pandas库需要首先导入相关的python模块,其中必须导入pandas和pymysql模块。在python文件开头,可以这样编写导入语句: import pandas as pd import pymysql 步骤二:连接MySQ…

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