百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

一文搞定Pandas核心概念之DataFrame

liuian 2025-03-11 18:03 29 浏览


DataFrame概述

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。如下图所示:整个表格是DataFrame,每一列就是一个Series。关于Series可以参考文章: 一文搞定Pandas核心概念之Series


DataFrame 构造方法如下:

pandas.DataFrame( data, index, columns, dtype, copy)

参数说明:

data:一组数据(ndarray、series, map, lists, dict 等类型)。

index:索引值,或者可以称为行标签。

columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。

dtype:数据类型。

copy:拷贝数据,默认为 False。

DataFrame获取元素的经典实例

实例1

import pandas as pd
data = [['kevin',40],['mike',40],['tony',50]]
df = pd.DataFrame(data,columns=['name','Age'])
print(df)

输出

name Age

0 kevin 40

1 mike 40

2 tony 50

实例2

我们还可以使用字典创建DataFrame

data = [{'a': 40, 'b': 40},{'c': 50},{'a': 50, 'b': 10, 'c': 20}]
df = pd.DataFrame(data)
print (df)

a b c

0 40.0 40.0 NaN

1 NaN NaN 50.0

2 50.0 10.0 20.0

注意这里没有对应的部分数据为 NaN。

实例3

我们可以改变用如下方法改变index的值,代码如下:

data1 = [['kevin',40],['mike',40],['tony',50]]
df = pd.DataFrame(data1,columns=['name','Age'],index = ["a", "b", "c"])
print(df)

输出

name Age

a kevin 40

b mike 40

c tony 50

默认索引值是0 1 2

实例4

Pandas 可以使用 loc 属性返回指定索引对应到某一行:

例如获取上面例子中kevin的值,可以通过如下方法

print(df.loc["a","name"])

kevin

实例5

获取a 行所有的值可以使用

print(df.loc["a"])

输出

name kevin

Age 40

Name: a, dtype: object

实例6

获取name列所有的值可以使用

print(df.loc[:,"name"])

输出

a kevin

b mike

c tony

Name: name, dtype: object

实例7

获取index a和b 所在的name列的值可以使用

print(df.loc["a":"b","name"])

输出

a kevin

b mike

Name: name, dtype: object

API的概要说明

数据清理

  • df.columns = ['a','b','c']:重命名列名
  • pd.isnull():检查DataFrame对象中的空值,并返回一个Boolean数组
  • pd.notnull():检查DataFrame对象中的非空值,并返回一个Boolean数组
  • df.dropna():删除所有包含空值的行
  • df.dropna(axis=1):删除所有包含空值的列
  • df.dropna(axis=1,thresh=n):删除所有小于n个非空值的行
  • df.fillna(x):用x替换DataFrame对象中所有的空值
  • s.astype(float):将Series中的数据类型更改为float类型
  • s.replace(1,'one'):用‘one’代替所有等于1的值
  • s.replace([1,3],['one','three']):用'one'代替1,用'three'代替3
  • df.rename(columns=lambda x: x + 1):批量更改列名
  • df.rename(columns={'old_name': 'new_ name'}):选择性更改列名
  • df.set_index('column_one'):更改索引列
  • df.rename(index=lambda x: x + 1):批量重命名索引

数据处理:Filter、Sort和GroupBy

  • df[df[col] > 0.5]:选择col列的值大于0.5的行
  • df.sort_values(col1):按照列col1排序数据,默认升序排列
  • df.sort_values(col2, ascending=False):按照列col1降序排列数据
  • df.sort_values([col1,col2], ascending=[True,False]):先按列col1升序排列,后按col2降序排列数据
  • df.groupby(col):返回一个按列col进行分组的Groupby对象
  • df.groupby([col1,col2]):返回一个按多列进行分组的Groupby对象
  • df.groupby(col1)[col2]:返回按列col1进行分组后,列col2的均值
  • df.pivot_table(index=col1, values=[col2,col3], aggfunc=max):创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表
  • df.groupby(col1).agg(np.mean):返回按列col1分组的所有列的均值
  • data.apply(np.mean):对DataFrame中的每一列应用函数np.mean
  • data.apply(np.max,axis=1):对DataFrame中的每一行应用函数np.max

数据合并

  • df1.append(df2):将df2中的行添加到df1的尾部
  • df.concat([df1, df2],axis=1):将df2中的列添加到df1的尾部
  • df1.join(df2,on=col1,how='inner'):对df1的列和df2的列执行SQL形式的join

数据统计

  • df.describe():查看数据值列的汇总统计
  • df.mean():返回所有列的均值
  • df.corr():返回列与列之间的相关系数
  • df.count():返回每一列中的非空值的个数
  • df.max():返回每一列的最大值
  • df.min():返回每一列的最小值
  • df.median():返回每一列的中位数
  • df.std():返回每一列的标准差

相关推荐

戴尔声卡驱动器官方下载(戴尔5502声卡驱动)

戴尔电脑声卡驱动是SoundCardDriver。声卡驱动就是指电脑多媒体声卡控制程序,英文名为"SoundCardDriver",是一种可以让电脑和声卡设备通信的特殊程序驱动...

电脑开不了机怎么做系统(电脑开不了机怎么样装系统)

1、在可用电脑上制作好U盘启动盘,将下载的电脑系统iso文件直接复制到U盘的GHO目录下;2、在开不了机的电脑上插入U盘,重启后不停按F12或F11或Esc等快捷键打开启动菜单,选择U盘选项回车,比如...

u盘文件夹里面的文件不见了(u盘里的文件夹突然不见了怎么办)

可能出现以下几种情况:1.文件夹被隐藏了:在文件夹上右击->属性->勾选“隐藏”选项。2.文件被删除了:需要查看最近删除的文件。3.文件夹被移动了:通过搜索查找文件夹。4....

联想z6pro(联想官方售后服务中心官网)

  联想Z6Pro5G版正面采用了时下流行的水滴屏设计,6.39英寸三星AMOLED材质,而对于担心频闪问题的消费者有一个好消息——联想Z6Pro5G版的屏幕全程采用了DC调光。笔者并未在设置...

ie浏览器更新在哪里(ie浏览器在哪里更新版本)
ie浏览器更新在哪里(ie浏览器在哪里更新版本)

1.打开桌面的IE浏览器2.点击菜单栏的的帮助3.打开关于InternetExplorer(A)4.自动安装新版本前面打勾即可。ie浏览器更新是很简单的,具体操作步骤如下:1、打开浏览器首先我们打开电脑桌面,然后在电脑上找到“浏览器”图标...

2025-12-15 05:05 liuian

server2019开机黑屏只有cmd(server2019开机黑屏只有cmd怎么重装)

explorer是启动Windows窗口的执行文件,如果这个文件不执行,就不能打开Windows的窗口界面。可能是安装程序有问题,这个文件不存在。重新找一个安装文件,重新安装试一下。你先输入explo...

共享文件怎么弄(共享文件怎么弄出来)

为了安全地共享文件,具体的步骤如下:1)将文件复制到共享文件夹;2)设置文件权限,此处可以设置允许或拒绝他人读取、写入和修改文件;3)选择共享文件夹中的文件,用鼠标右键点击并选择“共享”;4)设置“共...

电脑摄像头怎么连接手机(电脑摄像头连接手机软件)

电脑手机方法/步骤1/4分步阅读首先打开电脑,然后将手机插入USB接口连接起来。在连接成功以后,在电脑上会自动进行驱动的安装。2/4之后手机上就会出现提示,我们在菜单中点击一下第二个“相机(PTP...

格式化命令和参数(格式化命令在哪个菜单中)

1,你用DM万用版或LFORMAT命令可实现硬盘的低格。2,用DOS的DEBUG命令也可实现低格操作如下:A:\>DEBUG-A100-,0703;交叉因子为3-,000...

电脑浏览器缓存怎么清理(电脑浏览器清理缓存怎么操作)

把浏览器直接删除。然后重新下载安装。一个浏览器在使用一段时间之后,往往会产生大量的缓存,严重影响电脑的运行,并且占有电脑大量的资源,那么很多清理缓存的方法它都是不彻底的,所以你不如直接把浏览器在电脑当...

笔记本电脑开机黑屏只显示鼠标

问题分析:电脑开机显示器不亮分两种情况:显示器未通电(电源指示灯不亮)或通电(电源指示灯亮)但无信号或屏幕显示“nosighal”,前者表示电路不通,或者是电源接口或电源线接触不良或损坏,后者一般是...

小米笔记本系统下载(小米系统官方网入口)
  • 小米笔记本系统下载(小米系统官方网入口)
  • 小米笔记本系统下载(小米系统官方网入口)
  • 小米笔记本系统下载(小米系统官方网入口)
  • 小米笔记本系统下载(小米系统官方网入口)
路由器详细设置教程(路由器设置方法及步骤)

步骤/方式一以TP-LINK无线路由器为例,将宽带网线接到路由器的LAN口。步骤/方式二用网线连接电脑和路由器。步骤/方式三打开浏览器,登录路由器管理界面。步骤/方式四点击设置向导。步骤/方式五选择让...

linux系统下载到手机(linux安装到手机)

1、首先在手机设置中点击【安全】选项。2、然后在安全页面点击【支付保护】,关闭支付应用后面的开关即可。手机盾是以手机TEE(可信执行环境)和SE(安全元件)为载体实现的二代USBKEY,完全不依赖任何...

tplink密码在哪看(如何查看tplink路由器密码)

输入192.168.1.1或者是192.168.0.1账号密码都是admin进去找到网络获取方式,拨号就可以看到账号了至于密码除非你那有选择显示密码,你才能看到,否则都是点点其实装网的时候...