Pandas中DataFrame的常用用法分享

作者:小小鸟爱吃辣条 时间:2022-08-10 01:17:49 

Pandas是Python中最流行的数据分析和处理工具之一,它提供了一个名为DataFrame的数据结构,可以被认为是一个二维表格或电子表格,其中包含行和列。在本文中,我们将深入探讨Pandas中DataFrame的各种常用的用法,包括创建DataFrame、选择数据、修改数据、数据排序、数据统计、数据合并、数据分组和数据透视表等。

1.创建DataFrame

要创建DataFrame,可以使用Pandas中的DataFrame()函数。下面是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
       'age': [25, 32, 18, 47],
       'gender': ['F', 'M', 'M', 'M']}

df = pd.DataFrame(data)
print(df)

输出:

       name  age gender
0     Alice   25      F
1       Bob   32      M
2   Charlie   18      M
3     David   47      M

2.选择数据

在DataFrame中选择数据有几种方法。可以使用loc[]和iloc[]函数,也可以使用布尔索引。下面是一些例子:

# 使用loc[]函数选择数据
print(df.loc[0])          # 选择第一行
print(df.loc[0:2])        # 选择前三行
print(df.loc[0:2, 'name'])# 选择前三行的name列

# 使用iloc[]函数选择数据
print(df.iloc[0])         # 选择第一行
print(df.iloc[0:2])       # 选择前两行
print(df.iloc[0:2, 0])    # 选择前两行的第一列

# 使用布尔索引选择数据
print(df[df['age'] > 30]) # 选择年龄大于30的行

3.修改数据

要修改DataFrame中的数据,可以使用loc[]或iloc[]函数。下面是一个例子:

# 修改数据
df.loc[0, 'age'] = 26
print(df)

# 添加新数据
df.loc[4] = ['Eve', 29, 'F']
print(df)

# 删除数据
df = df.drop(4)
print(df)

4.数据排序

要对DataFrame中的数据进行排序,可以使用sort_values()函数。下面是一个例子:

# 按年龄升序排序
df = df.sort_values('age')
print(df)

# 按年龄降序排序
df = df.sort_values('age', ascending=False)
print(df)

5.数据统计

要对DataFrame中的数据进行统计,可以使用describe()函数和其他函数,例如mean()、median()和std()。下面是一个例子:

# 描述数据
print(df.describe())

# 计算平均年龄
print(df['age'].mean())

# 计算年龄中位数
print(df['age'].median())

# 计算年龄标准差
print(df['age'].std())

6.数据合并

要合并两个DataFrame,可以使用concat()函数。下面是一个例子:

# 创建第二个DataFrame
data2 = {'name': ['Frank', 'Grace'],
        'age': [39, 28],
        'gender': ['M', 'F']}
df2 = pd.DataFrame(data2)

# 合并两个DataFrame
df = pd.concat([df, df2])
print(df)

7.数据分组

要按某些标准对DataFrame中的数据进行分组,可以使用groupby()函数。下面是一个例子:

# 按性别分组并计算平均年龄
print(df.groupby('gender')['age'].mean())

8.数据透视表

要创建数据透视表,可以使用pivot_table()函数。下面是一个例子:

# 创建数据透视表
print(pd.pivot_table(df, values='age', index='gender', columns='name'))

来源:https://juejin.cn/post/7221969436885008441

标签:Pandas,DataFrame
0
投稿

猜你喜欢

  • Python 使用 attrs 和 cattrs 实现面向对象编程的实践

    2022-05-29 22:38:00
  • 利用Python破解斗地主残局详解

    2021-06-04 06:16:49
  • Python+Opencv实现表格边框线检测

    2023-08-11 04:55:14
  • Python获取脚本所在目录的正确方法

    2022-12-07 14:37:36
  • python中使用Celery容联云异步发送验证码功能

    2023-07-29 08:27:06
  • python逐行读写txt文件的实例讲解

    2023-09-27 14:17:55
  • go开发中引用静态库.a文件的方法

    2024-04-25 13:16:26
  • javascript replace()用法详解附实例代码

    2024-04-17 09:42:52
  • jupyter lab文件导出/下载方式

    2021-01-28 12:34:46
  • python实现列表的排序方法分享

    2022-10-06 07:56:01
  • ORM框架之Dapper简介和性能测试

    2024-05-03 15:30:44
  • 如何将yolov5中的PANet层改为BiFPN详析

    2023-08-12 18:08:38
  • Go语言实现枚举的示例代码

    2024-04-26 17:27:47
  • Python数据可视化Pyecharts库的使用教程

    2023-01-24 23:17:34
  • 以图换字的几个方法及思路

    2007-10-17 18:07:00
  • 关于python的对象序列化介绍

    2023-07-27 05:02:31
  • Python创建xml的方法

    2021-11-25 05:59:44
  • 一篇文章彻底弄懂Python中的if __name__ == __main__

    2023-04-27 08:42:14
  • Python中的ceil()方法使用教程

    2022-02-01 05:15:11
  • vue中手机号,邮箱正则验证以及60s发送验证码的实例

    2024-04-10 13:50:29
  • asp之家 网络编程 m.aspxhome.com