浅析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日

相关文章

  • 用Python将Excel转换为CSV

    把Excel文件转换为CSV文件有许多不同的方式,其中,使用Python也是非常方便快捷的一种方式。下面我将详细讲解如何使用Python将Excel文件转换为CSV文件。 准备工作 在此之前,需要确保已经安装好了Python所需环境和包。需要用到的包为pandas,可以通过以下命令进行安装: pip install pandas Python代码实现 在导入…

    python-answer 2023年3月27日
    00
  • python批量设置多个Excel文件页眉页脚的脚本

    下面是关于“python批量设置多个Excel文件页眉页脚的脚本”的完整攻略。 1. 环境准备 首先,需要安装并配置Python的相关环境,建议使用Python3版本。同时,你可能需要使用额外的三方库——openpyxl和os。 可以使用pip命令来安装以上两个库: pip install openpyxl pip install os 2. 程序实现 下面…

    python 2023年6月13日
    00
  • 如何在Python中打印整个Pandas DataFrame

    在 Python 中,使用 Pandas 库读取和处理数据时,经常需要输出整个 DataFrame 的内容以进行数据分析和调试等操作,但是默认情况下,在打印一个 DataFrame 对象时,Pandas 只会显示前几行和后几行,中间会省略一部分数据。这就需要我们采用额外的方式来实现完整打印DataFrame的操作。 下面介绍两种方法来实现如何在 Python…

    python-answer 2023年3月27日
    00
  • Pandas删除数据的几种情况(小结)

    Pandas删除数据的几种情况(小结) 在Pandas中,删除数据是数据清理中一个非常关键的步骤。这里我们将讨论Pandas中删除数据的几种情况。 1. 删除行或列 1.1 删除行 删除行的方法是通过drop()函数来实现的。该函数使用axis=0参数来指示删除行。具体语法如下: df.drop(index_names, axis=0, inplace=Tr…

    python 2023年5月14日
    00
  • Python 在Pandas DataFrame中改变列名和行索引

    修改Pandas DataFrame中的列名和行索引是一项常见的任务,可以通过以下方式实现。 修改列名:- 使用DataFrame的rename()方法,该方法可以使用字典形式或函数方式进行操作。- 使用DataFrame的columns属性,该属性可以修改全部列名,但需要一并指定所有列名。 例如,我们有以下DataFrame,需要修改其中两列的名称: im…

    python-answer 2023年3月27日
    00
  • Pandas Series结构对象的创建与访问方法

    Pandas Series结构是什么? Pandas Series是一种类似于一维数组的数据结构,可以存储任意类型的数据,包括整数、浮点数、字符串、Python对象等。Series有两个主要的部分:索引和值,其中索引用于标识每个值的位置,可以是整数、字符串或其他数据类型。Series中的每个值都与一个索引值对应,因此可以通过索引来访问数据。Series的特点…

    Pandas 2023年3月4日
    00
  • Python中的Pandas.get_option()函数

    Pandas.get_option()函数是一个用于获取Pandas选项卡的函数,它允许用户查询和更改Pandas库的设置选项。 Pandas中有数百个设置选项,它们定义了Pandas如何处理数据的细节。使用get_option函数可以查询当前设置选项的值。 函数的语法如下: pandas.get_option(pat, display=None) 参数说明…

    python-answer 2023年3月27日
    00
  • 如何使用Python中的Pandas检查一天是否是工作日

    首先,Pandas是Python中的一个非常强大的数据处理库,内置了很多各式各样的函数和方法。而检查一天是否是工作日的方法,就要用到Pandas中的工作日历处理函数。下面是详细的攻略步骤: 步骤1:导入Pandas库和相关模块 import pandas as pd from pandas.tseries.offsets import BDay Pandas…

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