Pandas:DataFrame对象的基础操作

DataFrame的基本用法 定义一个空的DataFramedf = pd.DataFrame(data=None,columns=range(1,5),index=[0,1]) # 从列表定义,定义列名和行名dfdf = pd.DataFrame(columns={"a":"","b":""},index=[0,1,2]) #从字典定义df。 阅读详情

DataFrame对象的创建,修改,合并


import pandas as pd
import numpy as np
  • 1
  • 2
  • 3

创建DataFrame对象

# 创建DataFrame对象
df = pd.DataFrame([1, 2, 3, 4, 5], columns=['cols'], index=['a','b','c','d','e'])
print df
  • 1
  • 2
  • 3
   cols
a     1
b     2
c     3
d     4
e     5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
df2 = pd.DataFrame([[1, 2, 3],[4, 5, 6]], columns=['col1','col2','col3'], index=['a','b'])
print df2
  • 1
  • 2
   col1  col2  col3
a     1     2     3
b     4     5     6
  • 1
  • 2
  • 3
  • 4
df3 = pd.DataFrame(np.array([[1,2],[3,4]]), columns=['col1','col2'], index=['a','b'])
print df3
  • 1
  • 2
   col1  col2
a     1     2
b     3     4
  • 1
  • 2
  • 3
  • 4
df4 = pd.DataFrame({'col1':[1,3],'col2':[2,4]},index=['a','b'])
print df4
  • 1
  • 2
   col1  col2
a     1     2
b     3     4
  • 1
  • 2
  • 3
  • 4
创建DataFrame对象的数据可以为列表,数组和字典,列名和索引为列表对象
  • 1

基本操作

# DataFrame对象的基本操作
df2.index
  • 1
  • 2
Index([u'a', u'b'], dtype='object')
  • 1
  • 2
df2.columns
  • 1
Index([u'col1', u'col2', u'col3'], dtype='object')
  • 1
  • 2
# 根据索引查看数据
df2.loc['a']   
# 索引为a这一行的数据
# df2.iloc[0] 跟上面的操作等价,一个是根据索引名,一个是根据数字索引访问数据
  • 1
  • 2
  • 3
  • 4
col1    1
col2    2
col3    3
Name: a, dtype: int64
  • 1
  • 2
  • 3
  • 4
  • 5
print df2.loc[['a','b']]    # 访问多行数据,索引参数为一个列表对象
  • 1
   col1  col2  col3
a     1     2     3
b     4     5     6
  • 1
  • 2
  • 3
  • 4
print df.loc[df.index[1:3]]
  • 1
   cols
b     2
c     3
  • 1
  • 2
  • 3
  • 4
# 访问列数据
print df2[['col1','col3']]
  • 1
  • 2
   col1  col3
a     1     3
b     4     6
  • 1
  • 2
  • 3
  • 4

计算

# DataFrame元素求和
# 默认是对每列元素求和
print df2.sum()
  • 1
  • 2
  • 3
col1    5
col2    7
col3    9
dtype: int64
  • 1
  • 2
  • 3
  • 4
  • 5
# 行求和
print df2.sum(1)
  • 1
  • 2
a     6
b    15
dtype: int64
  • 1
  • 2
  • 3
  • 4
# 对每个元素乘以2
print df2.apply(lambda x:x*2)
  • 1
  • 2
   col1  col2  col3
a     2     4     6
b     8    10    12
  • 1
  • 2
  • 3
  • 4
# 对每个元素求平方(支持ndarray一样的向量化操作)
print df2**2
  • 1
  • 2
   col1  col2  col3
a     1     4     9
b    16    25    36
  • 1
  • 2
  • 3
  • 4

列扩充

# 对DataFrame对象进行列扩充
df2['col4'] = ['cnn','rnn']
print df2
  • 1
  • 2
  • 3
   col1  col2  col3 col4
a     1     2     3  cnn
b     4     5     6  rnn
  • 1
  • 2
  • 3
  • 4
# 也可以通过一个新的DataFrame对象来定义一个新列,索引自动对应
df2['col5'] = pd.DataFrame(['MachineLearning','DeepLearning'],index=['a','b'])
print df2
  • 1
  • 2
  • 3
   col1  col2  col3 col4             col5
a     1     2     3  cnn  MachineLearning
b     4     5     6  rnn     DeepLearning
  • 1
  • 2
  • 3
  • 4

行扩充

# 行进行扩充
print df2.append(pd.DataFrame({'col1':7,'col2':8,'col3':9,'col4':'rcnn','col5':'ReinforcementLearning'},index=['c']))
  • 1
  • 2
   col1  col2  col3  col4                   col5
a     1     2     3   cnn        MachineLearning
b     4     5     6   rnn           DeepLearning
c     7     8     9  rcnn  ReinforcementLearning
  • 1
  • 2
  • 3
  • 4
  • 5

注意!

# 如果在进行 行扩充时候没有,指定index的参数,索引会被数字取代
print df2.append({'col1':10,'col2':11,'col3':12,'col4':'frnn','col5':'DRL'},ignore_index=True)
  • 1
  • 2
   col1  col2  col3  col4             col5
0     1     2     3   cnn  MachineLearning
1     4     5     6   rnn     DeepLearning
2    10    11    12  frnn              DRL
  • 1
  • 2
  • 3
  • 4
  • 5
# 以上的行扩充,并没有真正修改,df2这个DataFrame对象,除非
df2 = df2.append(pd.DataFrame({'col1':7,'col2':8,'col3':9,'col4':'rcnn','col5':'ReinforcementLearning'},index=['c']))
print df2
  • 1
  • 2
  • 3
   col1  col2  col3  col4                   col5
a     1     2     3   cnn        MachineLearning
b     4     5     6   rnn           DeepLearning
c     7     8     9  rcnn  ReinforcementLearning
c     7     8     9  rcnn  ReinforcementLearning
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
print df2.loc['c']
  • 1
   col1  col2  col3  col4                   col5
c     7     8     9  rcnn  ReinforcementLearning
c     7     8     9  rcnn  ReinforcementLearning
  • 1
  • 2
  • 3
  • 4

DataFrame对象的合并

# DataFrame 对象的合并
df_a = pd.DataFrame(['wang','jing','hui','is','a','master'],columns=['col6'],index=['a','b','c','d','e','f'])
print df_a
  • 1
  • 2
  • 3
     col6
a    wang
b    jing
c     hui
d      is
e       a
f  master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
# 默认合并,只保留dfb中的全部索引
dfb = pd.DataFrame([1,2,4,5,6,7],columns=['col1'],index=['a','b','c','d','f','g'])
print dfb.join(df_a)
  • 1
  • 2
  • 3
   col1    col6
a     1    wang
b     2    jing
c     4     hui
d     5      is
f     6  master
g     7     NaN
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
# 默认合并之接受索引已经存在的值
# 通过指定参数 how,指定合并的方式
print dfb.join(df_a,how='inner')   # 合并两个DataFrame对象的交集
  • 1
  • 2
  • 3
   col1    col6
a     1    wang
b     2    jing
c     4     hui
d     5      is
f     6  master
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
# 合并两个DataFrame对象的并集
print dfb.join(df_a,how='outer')
  • 1
  • 2
   col1    col6
a   1.0    wang
b   2.0    jing
c   4.0     hui
d   5.0      is
e   NaN       a
f   6.0  master
g   7.0     NaN
知识周汇 | 掌握 DataFrame 核心操作,轻松玩转数据分析 dataframe结构在数据分析中用的最多的一种结构,参照平时处理excel表基本用到的操作也是拼接、去重、排序、筛选等,本文章对数据处理创建dataframe、对dataframe常规操作、数据清洗、拼接、排序进行介绍。 阅读详情

相关推荐

python中DataFrame对象

DataFrame是Pandas库中的一种数据结构,它是由多种类型的列组成的二维表数据结构,类似于Excel、SQL或Series对象构成的字典。DataFrame是最常用的Pandas对象,它与Series对象一样支持多种类型的数据。

meimei169500的博客 2961

pd.DataFrame()用法简单记录

pd.DataFrame() 先来看看它的定义: class DataFrame( data=None, index: Optional[Axes]=None, # 行标 columns: Optional[Axes]=None, # 列标 dtype: Optional[Dtype]=None, # 存储的数据类型 copy: bool=False) 我们可以直接创建空的dataframe,也可以在创造时就输入数据。 创建一个简单的dataframe: import panda

Miss_leading的博客 6万+

pandas基本数据对象及操作(DataFrame篇)

一.创建DataFrame import pandas as pd country1 = pd.Series({'Name': '中国', 'Language': 'Chinese', 'Area': '9.597M km2', 'Happiness Rank': 79})...

a1786742005的博客 957

Python中Pandas库提供的函数——pd.DataFrame的基本用法

DataFrame可以从各种数据源导入数据,如CSV文件、Excel表格、SQL数据库等,并且可以将数据导出为不同格式的文件。:DataFrame提供了丰富的数据操作方法,包括数据筛选、切片、合并、分组、聚合、排序等。:您可以对DataFrame进行各种数据转换操作,如数据类型转换、列重命名、数据透视表等。:DataFrame提供了处理数据中的恢复值的方法,如删除恢复值或恢复恢复值。方法来查看DataFrame的前几行数据,以了解数据的结构和内容。数据框、访问数据、进行数据操作和分析的方法和属性。

XDXDXDXDX111的博客 1万+

Python DataFrame对象 索引列的相关操作 (Pandas篇-07)

在Python 的Pandas中,DataFrame作为一种常用的二维表格数据结构,可以通过多种方法来操作其索引列。如:1. `set_index()`方法-设置索引列,2. `reset_index()`方法-重置索引列,3. `rename_axis()`方法修改索引列的 名称,4. 直接修改`index`属性,5. `reindex()`索引列排序

侯小啾技术博客 1139

从医疗成像到工业检测:CMOS图像传感器NIR技术的最新应用案例解析

本文深入解析了CMOS图像传感器NIR技术在医疗成像和工业检测中的最新应用案例。通过提升量子效率至70%,NIR技术实现了血管可视化、材料缺陷检测等突破性进展,显著提高了医疗诊断精度和工业质检效率。文章还探讨了系统集成关键考量和前沿发展趋势。

weixin_30879169的博客 92

python释放dataframe对象_Pandas:DataFrame对象的基础操作方法

DataFrame对象的创建,修改,合并import pandas as pdimport numpy as np创建DataFrame对象# 创建DataFrame对象df = pd.DataFrame([1, 2, 3, 4, 5], columns=['cols'], index=['a','b','c','d','e'])print dfcolsa 1b 2c 3d 4e 5df2 = p...

weixin_39758288的博客 1271

饥荒联机版Mod开发——modmain环境与API深度解析

本文深入解析饥荒联机版Mod开发中的modmain.lua环境与核心API,详细讲解环境表构建原理、API注册与调用时机,并提供高级开发技巧与最佳实践。通过源码分析和实际案例,帮助开发者掌握Mod开发核心技术,解决常见问题,提升开发效率与代码质量。

weixin_30312563的博客 437

【Python从入门到进阶】60、Pandas中DataFrame对象的操作(一)

在Pandas库中,DataFrame是一种非常重要的数据结构,它以一种表格的形式存储和操作结构化数据。DataFrame对象不仅继承了NumPy数组的强大功能,还提供了更为丰富的数据操作接口,使得数据分析工作变得既高效又便捷。

程序猿之洞 3409

MFC下使用C++操作Word文档

由于项目需求,在MFC环境下操作将数据和图片写入word文档,之前没有接触过,网上查阅了很多资料,终于把任务完成。理解的不是很透彻,但是这些东西应该够用了,写篇博客记录一下,以便以后再用到。 (1)VS环境下创建一个MFC应用程序,然后在项目上单击右键,选择 类向导-----添加类----类型库中的MFC类。在弹出的对话框中选择文件,位置选择office安装目录下的...

GIS_yuhua的博客 7582

Python爬虫实战:模拟登录B站 – 处理Cookie和加密参数

由于B站在登录过程中采用了多种安全措施,包括加密的请求参数和cookie验证,模拟登录成为一项具有挑战性的任务。首先,我们需要获取B站的登录页面,并解析出其中的CSRF令牌和其他隐藏的字段。B站的登录接口通常会包含一些动态的加密参数,我们需要在登录前通过GET请求获取这些信息。本文详细介绍了如何使用Python模拟登录B站,解决加密参数的处理、图形验证码的识别以及登录后的数据抓取。库中的加密方法加密登录请求中的密码。一旦登录成功,我们可以通过维护会话状态,抓取登录后的数据,如个人主页、评论、观看记录等。

2201_76125261的博客 1310

python的pandas库的DataFrame和Series对象操作

一.操作excle文件 1.1 读取excle 1.1.1 read_excle data = pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=None, ...

wcl1800的博客 1027

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

摘要:按列表名单将路径a下的文件夹批量剪切到路径b。

qq_31762031的博客 1220

python dataframe取行列_Pandas DataFrame对象行列操作

Pandas 的数据框可以看作是 Numpy 中的二维数组。1. DataFrame对象行操作1) loc与iloc区别注意行操作与 Numpy 二维数组的方法类似,特别要注意的是 loc 和 iloc 的区别。示例代码如下。In [1]: import pandas as pdIn [2]: df = pd.DataFrame({'a': [1, 2, 3], 'b': ['a', 'b', '...

weixin_30631909的博客 657

被Cloudflare 5秒盾虐了半个月,终用Python破局:UA+TLS指纹伪装实战,拦截率从42%干到3%

其实5秒盾不难破,难的是摸透它的检测逻辑——它不是“一刀切”地拦截爬虫,而是通过“多维度指纹校验”,判断你是不是“真实用户”。表层:UA和HTTP头要完整、匹配;中层:TLS指纹要和真实浏览器一致(核心);深层:行为要符合人类习惯(请求间隔、JS执行)。这套方案不仅适用于Cloudflare 5秒盾,很多基于指纹检测的反爬系统(如Akamai、Imperva)也适用。2025年的爬虫,早已不是“能爬就行”,而是“爬得稳、不被封”——指纹伪装就是实现这一点的关键。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1852

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1756

pandas.Dataframe对象常用操作总结

pandas.Dataframe对象行列操作总结 增加行用 pd.DataFrame.loc[行] = data 增加列用 pd.DataFrame[列] = data 删除行用 pd.DataFrame.drop([行],inplace=False/Ture) inplace默认为False,为True时直接在原DataFrame进行修改,否则生产新对象 删除列用 pd.DataFrame.drop([列],axis=1/‘columns’,inplace=False/Ture) ...

努力的小黄呀 535

【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS

博客介绍了Windows Server中远程桌面服务的理论,实验拓扑以及基于RemoteAPP的RDS安装。博文介绍了如何在Windows Server上部署发布服务器。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 6130

Pandas工具包实战(5)对象的操作:series, dataframe, 对象的增删改查

1 Series结构的增删改查 import pandas as pd data = [10,11,12] index = ['a','b','c'] s = pd.Series(data = data,index = index) # a 10 # b 11 # c 12 # dtype: int64 2 查操作 s[0] # 10 s[0:2] mask = [True,False,True] s[mask] # a 10 # c 12 # dtype: in

haiwang_luo的博客 288

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

[转载] Pandas:DataFrame对象的基础操作

参考链接: 创建一个Pandas DataFrame DataFrame对象的创建,修改,合并 import pandas as pd import numpy as np 创建DataFrame对象 # 创建DataFrame对象 df = pd.DataFrame([1, 2, 3, 4, 5], columns=['cols'], index=['a','b','c','d','e']) print df cols a 1 b 2 c...

u013946150的博客 484

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Pandas的入门操作-DataFrame对象

求 是否高于平均年龄。

weixin_58305115的博客 710

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pandas对DataFrame对象的基本操作

1、添加列(合并列)   (1)、join 直接用index来连接,即对应index的行连接起来,形成添加新列的效果,但是要有一样的index且不能有重叠的列(列标签也不能重叠)。 date1 = pd.DataFrame({'one':['a','b','a','a','e'],'two1':range(5)})data3 = pd.DataFrame({'three':li...

baixia8247的专栏 273

Pandas中创建DataFrame对象以及相关的列操作,行操作

pandas

m0_62064241的博客 3981
上一篇: pandas.get_dummies
下一篇: Anaconda安装更新库
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值