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

相关文章

  • 在Pandas中根据行频对数据框进行排序

    在Pandas中,可以根据某一列或多列的值对数据框进行排序。不过有时候我们需要根据行频(行出现的次数)对数据框进行排序。这篇文章将详细介绍这个过程,并提供实例说明。 1. 读取数据 首先,我们需要读取一些数据,以便后面的操作。这里我们可以使用Pandas自带的dataframe,如下所示: import pandas as pd from collectio…

    python-answer 2023年3月27日
    00
  • 如何扁平化Pandas DataFrame列中的分层索引

    Pandas DataFrame中的分层索引可以使得数据结构更加灵活,但有时候需要将列的分层索引“扁平化”,这样可以方便数据的处理和展示。本文将提供详细的步骤和实例说明。 什么是分层索引? 在Pandas DataFrame中,可以通过多维数组或元组嵌套的方式创建“分层索引”,也称为“层次化索引”。例如,在以下的DataFrame中,使用两个嵌套的列表创建了…

    python-answer 2023年3月27日
    00
  • Pandas读取文件数据常用的5种方法

    当使用 Pandas 做数据分析的时,需要读取事先准备好的数据集,这是做数据分析的第一步。 Panda 提供了很多读取数据的方法: pd.read_csv():读取CSV文件 pd.read_excel():读取Excel文件 pd.read_sql():读取SQL数据库中的数据 pd.read_json():读取JSON文件 pd.read_html():…

    Pandas 2023年3月6日
    00
  • python绘图pyecharts+pandas的使用详解

    我将为您详细讲解“python绘图pyecharts+pandas的使用详解”。 一. 前言 在数据分析和可视化方面,Python 是非常热门的语言。目前,Python 有许多用于绘制图形的库。然而,由于其简单易用、图形精美等特点,越来越多的人开始使用 pyecharts 作为他们的绘图库。 pyecharts 内部采用了诸如百度 ECharts、Apach…

    python 2023年5月14日
    00
  • Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)

    当需要在Python中实现模拟浏览器上传文件的操作时,可以使用requests库和multipart模块来完成。上传文件需要使用POST请求方法,并以multipart/form-data格式发送数据。 以下是实现Python模拟浏览器上传文件的步骤: 第一步:导入必要模块 import requests from requests_toolbelt.mul…

    python 2023年5月14日
    00
  • Python pandas读取CSV文件的注意事项(适合新手)

    让我来为您讲解“Python pandas读取CSV文件的注意事项的完整攻略”。 什么是CSV文件? CSV(Comma-Separated Values)意思为“逗号分隔值”,通俗来说,就是每一行表示一条数据,每个字段之间用逗号进行分隔,不同行之间用回车换行进行分隔的一种文本文件格式。 为什么要使用pandas读取CSV文件? pandas是python中…

    python 2023年5月14日
    00
  • 合并两个具有复杂条件的Pandas数据框架

    合并两个具有复杂条件的 Pandas 数据框架的过程可以使用 Pandas 库中的 merge() 函数进行。merge() 函数可以根据一个或多个键将不同的 Pandas 数据框架合并成一个。可以根据某些列进行连接,根据索引进行连接,外连接,内连接等等。 下面提供一个示例:假设有两个数据框,dataframe1 和 dataframe2。它们的结构如下: …

    python-answer 2023年3月27日
    00
  • 查找给定的Pandas数据框架的几何平均数

    要查找给定的 Pandas 数据框架的几何平均数,可以通过下面的步骤实现: 导入 pandas 和 numpy 库。 import pandas as pd import numpy as np 创建一个示例数据框架。 df = pd.DataFrame({ ‘A’: [1, 2, 3, 4, 5], ‘B’: [6, 7, 8, 9, 10], ‘C’: …

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