padas数据结构:DataFrame

python pandas 之 Dataframe 数据结构 DataFrame 是 pandas 中两个主要数据结构之一,另一个是 Series。DataFrame 的文档在这里:传送门。 因为这几天需要使用这个数据结构来完成一个小作业,在这里总结一下 Dataframe 的一些基本用法。 文章目录创建元素访问获取行列常用属性矩阵转置元素个数行元素个数列元素个数操作遍历行遍历列遍历求和行求和列求和参考资料 创建 首先我们来看一看 Dataframe 的创建... 阅读详情

padas数据结构:DataFrame

文档地址:
http://pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe

import pandas as pd


user1 = pd.Series(["jack","男",22], index=["name","sex","age"])
user2 = pd.Series(["lily","女",21], index=["name","sex","age"])

users = pd.DataFrame({101:user1, 102:user2})

print(users)
"""
       101   102
name  jack  lily
sex      男     女
age     22    21
"""

print(users.index) # Index(['name', 'sex', 'age'], dtype='object')

print(users.columns) # Int64Index([101, 102], dtype='int64')
# 还可以这样
user_list = [("jack","男",22), ("lily","女",21)]
users = pd.DataFrame(user_list)
print(users)
"""
      0  1   2
0  jack  男  22
1  lily  女  21
"""

设置列名:

user_list = [("jack","男",22), ("lily","女",21)]
users = pd.DataFrame(user_list,columns=["name","sex","age"]) # 给设置列名
print(users)
"""
   name sex  age
0  jack   男   22
1  lily   女   21

"""

查看类型:

print(type(users)) # <class 'pandas.core.frame.DataFrame'>

案列:基金指定月份同比数据对比

用我们前面抓取的基金数据,取2份数据。
比如:
2016年6月份的数据:print(fund.loc['2016-06'])
2017年6月份的数据:print(fund.loc['2017-06'])

实际上我们只要NAV(单位净值)的比较,于是乎代码就变成了这样:

fund.loc["2016-06",["NAV"]]
fund.loc["2017-06",["NAV"]]

接下来就是把这2个DataFrame数据连接在一起(并集),连接才方便比较啊,但是我们发现这两者的时间并不是一致的,而且是不连续的。

完整代码:

# coding: utf-8
import pandas as pd

fund = pd.read_csv("./csv/519961.csv", dtype={"fcode": pd.np.str_}, index_col="fdate", parse_dates=["fdate"])

#print(fund)

f2016 = fund.loc["2016-06",["NAV"]].reset_index()
f2017 = fund.loc["2017-06",["NAV"]].reset_index()

# 计算6月的连续日期
allDates201606 = pd.DataFrame(pd.date_range("2016-06","2016-07",closed="left"),columns=["fdate"])
# 6月每天 去 和 当天数据 合并
f2016_data = pd.merge(allDates201606,f2016,how="left",on=["fdate"])
print(f2016_data)
"""
        fdate    NAV
0  2016-06-01  0.991
1  2016-06-02  0.991
2  2016-06-03  0.991
3  2016-06-04    NaN
4  2016-06-05    NaN
5  2016-06-06  0.991
6  2016-06-07  0.987
7  2016-06-08  0.987
8  2016-06-09    NaN
9  2016-06-10    NaN
10 2016-06-11    NaN
11 2016-06-12    NaN
12 2016-06-13  0.986
13 2016-06-14  0.987
14 2016-06-15  0.988
15 2016-06-16  0.988
16 2016-06-17  0.988
17 2016-06-18    NaN
18 2016-06-19    NaN
19 2016-06-20  0.988
20 2016-06-21  0.989
21 2016-06-22  0.989
22 2016-06-23  0.989
23 2016-06-24  0.989
24 2016-06-25    NaN
25 2016-06-26    NaN
26 2016-06-27  0.990
27 2016-06-28  0.991
28 2016-06-29  0.992
29 2016-06-30  0.992
"""
allDates201706 = pd.DataFrame(pd.date_range("2017-06","2017-07",closed="left"),columns=["fdate"])
# 6月每天 去 和 当天数据 合并
f2017_data = pd.merge(allDates201706,f2017,how="left")
print(f2017_data)
"""
        fdate    NAV
0  2017-06-01  0.991
1  2017-06-02  0.990
2  2017-06-03    NaN
3  2017-06-04    NaN
4  2017-06-05  0.989
5  2017-06-06  0.990
6  2017-06-07  0.994
7  2017-06-08  0.995
8  2017-06-09  0.995
9  2017-06-10    NaN
10 2017-06-11    NaN
11 2017-06-12  0.995
12 2017-06-13  0.996
13 2017-06-14  0.994
14 2017-06-15  0.994
15 2017-06-16  0.993
16 2017-06-17    NaN
17 2017-06-18    NaN
18 2017-06-19  0.994
19 2017-06-20  0.995
20 2017-06-21  0.996
21 2017-06-22  0.995
22 2017-06-23  0.994
23 2017-06-24    NaN
24 2017-06-25    NaN
25 2017-06-26  0.995
26 2017-06-27  0.993
27 2017-06-28  0.998
28 2017-06-29  0.998
29 2017-06-30  0.999
"""

# 最后合并2个月的
# 2016年6的数据 和2017年6月的数据 连接
result = pd.concat([f2016_data,f2017_data], axis=1)
print(result)
"""
        fdate    NAV      fdate    NAV
0  2016-06-01  0.991 2017-06-01  0.991
1  2016-06-02  0.991 2017-06-02  0.990
2  2016-06-03  0.991 2017-06-03    NaN
3  2016-06-04    NaN 2017-06-04    NaN
4  2016-06-05    NaN 2017-06-05  0.989
5  2016-06-06  0.991 2017-06-06  0.990
6  2016-06-07  0.987 2017-06-07  0.994
7  2016-06-08  0.987 2017-06-08  0.995
8  2016-06-09    NaN 2017-06-09  0.995
9  2016-06-10    NaN 2017-06-10    NaN
10 2016-06-11    NaN 2017-06-11    NaN
11 2016-06-12    NaN 2017-06-12  0.995
12 2016-06-13  0.986 2017-06-13  0.996
13 2016-06-14  0.987 2017-06-14  0.994
14 2016-06-15  0.988 2017-06-15  0.994
15 2016-06-16  0.988 2017-06-16  0.993
16 2016-06-17  0.988 2017-06-17    NaN
17 2016-06-18    NaN 2017-06-18    NaN
18 2016-06-19    NaN 2017-06-19  0.994
19 2016-06-20  0.988 2017-06-20  0.995
20 2016-06-21  0.989 2017-06-21  0.996
21 2016-06-22  0.989 2017-06-22  0.995
22 2016-06-23  0.989 2017-06-23  0.994
23 2016-06-24  0.989 2017-06-24    NaN
24 2016-06-25    NaN 2017-06-25    NaN
25 2016-06-26    NaN 2017-06-26  0.995
26 2016-06-27  0.990 2017-06-27  0.993
27 2016-06-28  0.991 2017-06-28  0.998
28 2016-06-29  0.992 2017-06-29  0.998
29 2016-06-30  0.992 2017-06-30  0.999
"""
Pandas:数据结构DataFrame 文章目录1.基本概念及创建DataFrame的数据结构DataFrame的创建方法(5种)2.索引选择行选择列df.loc用法df.iloc用法布尔型索引多重索引Pandas基本技巧数据查看、转置添加与修改删除对齐排序:sort_values排序:sort_index课后作业作业一:用四种不同的方法,创建以下Dataframe(保证columns和index一致,值不做要求)作业二:如图创建Dat... 阅读详情

相关推荐

pandas的数据结构Series、DataFrame、Panel

pandas有三种数据结构 Series: 一维数组,与Numpy中的一维array类似。 二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。 Series和一维数组最主要的区别在于Series类型具有索引(index),可以和另一个编程中常见的数据结构哈...

LuckyDucky的博客 3890

Pandas基本API集锦

一、pandas 简介 pandas 是基于 numpy 的一种工具,该工具是为了解决数据分析任务而创建的。 它有两种常见的数据类型:Series,DataFrame。Series 是 pandas 中最基本的对象,类似一维数组,可以自定义标签(也就是索引),通过索引可以访问数组中的数据。DataFrame 是一个二维表结构,能够存储多种不同类型的数据,并且每一个坐标轴都有自己的标签,可以把它当作一个 Series 的字典项。 二、Series 对象 1、Series 的创建 # 通过列表创建,此时会默认从

DaGongJiGuoMaLu09的博客 2616

pandas的三种数据结构(dataframe,series,index)

pandas有三种数据结构形式,分别是Series,DataFrame和索引对象。 1.Series Series和一维数组很像,只是它的每一个值都有一个索引,输出显示时索引在左,值在右。 如果语言无法清晰表达,不妨看段代码,毕竟talk is cheap,show me your code!!! 首先导入pandas库: &gt;&gt;from pandas import Serie...

weixin_42144636的博客 2962

Pandas中的数据排序(八)

1、两种类型的数据排序 (1)Series的排序: Series.sort_values(ascending=True, inplace=False) 参数说明: ascending:默认为True升序排序,为False降序排序 inplace:是否修改原始Series (2)DataFrame的排序: DataFrame.sort_values(by, ascending=True, inp...

小龙龙品牌的博客 5957

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

Overleaf+EndNote+BibTeX:手把手搞定Elsevier期刊投稿的参考文献格式(避坑指南)

本文详细介绍了如何利用Overleaf、EndNote和BibTeX三大工具无缝协作,解决Elsevier期刊投稿中的参考文献格式问题。从工具链配置、文献库导出、BibTeX文件优化到Overleaf集成与编译,提供全流程指南和常见问题解决方案,帮助学术新手高效完成Elsevier期刊投稿。

weixin_30616969的博客 509

pandas 常用函数

1、concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 (1)可以将一个list里的数据框合并成一个数据框 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integr...

pan15125284的博客 2912

逆向工程视角:MFI芯片通信协议在Linux环境下的行为分析

本文从逆向工程角度深入分析了MFI芯片在Linux环境下的通信协议行为,重点探讨了树莓派与MFI芯片通过I2C接口交互的技术细节。文章详细介绍了信号捕获、协议栈逆向、动态调试技巧以及安全机制分析,为开发者提供了在Linux驱动层面实现MFI认证的实用方法。

time3的博客 175

pandas:sql能的,我都能!!!

通常我们用sql处理数据库里的数据,其实sql对数据的操作,在pandas中完全可以实现。接下来,让我们根据sql执行顺序,来依次看看pandas对应的方法。

youzi85的博客 2836

python DEA: 基于非径向距离NDDF的Malmquist-Luenberger 指数及其分解

点赞发Nature 关注中Science Malmquist-Lenberger指数(ML指数)是距离函数与DEA计算中常用的指数,ML指数可以进一步分解为技术进步technological progress和效率改善effeciency change. 技术进步常被当做增长模型中的全要素生产率,用到许多计量经济研究中,探讨影响技术进步的环境变量。这里我分享一个考虑非期望产出下的NDDF方法计算ML指数。 该ML指数为global ML(区别于sequential ML) import numpy as

Cmmmmm丶的博客 5295

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 527

Pandas 数据排序,人人都能学会的几种方法

作者 | 阳哥来源 | Python数据之道Pandas 可以说是 在Python数据科学领域应用最为广泛的工具之一。Pandas是一种高效的数据处理库,它以 dataframe 和 series 为基本数据类型,呈现出类似excel的二维数据。在数据处理过程中,咱们经常需要将数据按照一定的要求进行排序,以方便展示。这里,来给大家分享下 在 Pandas 中排序的几种常用...

AI科技大本营 1万+

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等

本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 3万+

Python学习系列之padas-DataFrame

1 引言 Python padas是常用的数据处理和分析模块,有特别的数据结构DataFrame。创建一个对象: import pandas as pd data=[[1,2,3],[4,5,6]] index=['a','b']#行号 columns=['c','d','e']#列号 df=pd.DataFrame(data,index=index,columns=columns)#生成一...

answer3lin的博客 1万+

水文仿真软件:SWMM (Storm Water Management Model)_(6).地理信息系统(GIS)与SWMM数据交换

地理信息系统(GIS)与SWMM数据交换是水文仿真中的一个重要环节。通过合理的数据准备、导入、导出和校验,可以确保模型的准确性和实用性。本文介绍了使用SWMM GIS Add-on和Python脚本进行数据交换的方法,并提供了一些优化建议和常见问题的解决方案。希望这些内容能帮助读者更好地进行GIS与SWMM的数据交换,提高水文仿真的效率和质量。

kkchenjj的博客 576

深度学习图神经网络 (GNN) —— 处理图结构数据(六十九)

本文系统介绍了图神经网络(GNN)的核心概念、主流模型及其应用。主要内容包括: GNN基础:阐述了图结构数据的特性(节点数不定、连接不规则),以及GNN相比CNN/RNN的优势在于处理非欧式空间的图数据。 核心机制:重点讲解了消息传递框架(MPNN),通过聚合邻居信息迭代更新节点表示,并分析了GCN的归一化邻接矩阵计算和GAT的注意力权重机制。 典型模型: GCN:基于归一化邻接矩阵的特征传播 GAT:引入注意力机制区分邻居重要性 GraphSAGE:通过采样解决大图扩展性问题 GIN:理论表达能力最强的图

hello.reader 299

Python库——Padas

pandas”是“Panel Data”(面板数据)的缩写,也与“Python Data Analysis”(python数据分析)相关。基于 NumPy 构建,专注于灵活高效的数据结构,填补NumPy在表格和复杂数据处理中的不足。主要用途:数据清洗与整理、数据分析与计算、时间序列处理、数据输入/输出、可视化集成、机器学习的预处理等等优势:高灵活性、高性能、高兼容性、API统一局限:内存限制(大数据集处理)、性能瓶颈(非向量操作)

2302_77066736的博客 1314

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

数据结构5 :DataFrame(Pandas库)

series是一个一维的列数据,其中每一个元素都有一个标签。 import pandas as pd s = pd.Series([2, 4, 6, 8]) print(s) 结果为,2468为一组列数据,左边的0123是数据的对应标签。

Fwuyi的博客 4万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

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

Pandas数据结构DataFrame详解

本文介绍了Pandas中DataFrame的核心功能,包括创建、基本操作(查看、选择、过滤、修改)、常用功能(统计、缺失值处理、排序、分组聚合、应用自定义函数、数据结构转换)、合并与分割方法等,并提供了代码示例。

记录应用与学习笔记,Python、算法、工具、踩坑... 3391

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【Pandas数据结构--Series、DataFrame详解】

pandas数据结构

qq_45186086的博客 3548

padas的基本使用

padaspadas的基本使用 padas的基本使用 padas的引入:import padas as pd Pandas基于两种数据类型:series 与 dataframe。 一个series是一个一维的数据类型,其中每一个元素都有一个标签。如果你阅读过这个系列的关于Numpy的文章,你就可以发现series类似于Numpy中元素带标签的数组。其中,标签可以是数字或者字符串。 一个datafr...

qq_34014247的博客 6174

Pandas 数据结构 - DataFrame

DataFrame是一个表格型的数据结构,类似于电子表格或数据库中的表。它由有序的列构成,每一列可以具有不同的数据类型(例如数值、字符串、布尔型值等)。同时,DataFrame也拥有行索引和列索引,使得数据可以按行和列进行标识。可以将DataFrame视为由多个Series组成的字典,其中每个Series代表一列数据。每个Series共享相同的行索引,通过列索引来区分不同的列。这种结构使得DataFrame能够方便地处理和操作具有不同数据类型和结构的数据集。

2302_77624868的博客 1490

Pandas数据结构 —— Series和DataFrame

本文章是3.2的内容,如果想要源代码和数据可以看以下链接: 文章目录3.2 Pandas数组结构3.2.1 Series对象3.2.2 Series数据选取(1)查询(2)修改(3) 增加(4) 删除(5) 更改索引3.2.3 DataFrame对象DataFrame 创建方法:DataFrame数据访问(1) 访问(2)增加(3)修改(4)删除 3.2 Pandas数组结构 结构化数据分析是一种成熟的过程和技术。关系数据库用于结构化数据。 pandas是基于python的Numpy库的数据分析工具包,非.

Ahaha_biancheng的博客 3271

pandas数据结构(Series和DataFrame)

简介 无可非议,pandas是Python最强大的数据分析和探索工具之一,因金融数据分析工具而开发,支持类似于SQL语句的模型,可以对数据进行增删改查等操作,支持时间序列分析,也能够灵活的处理缺失的数据。它含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单。 这里所说的让pandas变得更快更简单的高级数据结构就是Series和DataFrame。要熟练使用pandas,首先得要熟悉它的这两个主要的数据结构:Series和Da

学而思(xiejava的blog) 3892

dataframe python 排序取前十_Pandas常用数据结构DataFrame详细教程

pandas 是python的数据分析库,提供快速、灵活和富有表现力的数据结构,用于数据挖掘和数据分析,同时也提供数据清洗功能,与numpy、matplotlib并称,成为数据分析必学的三个库。Pandas的主要功能如下。 此外,其更广泛的目标是成为任何语言中可用的最强大,最灵活的开源数据分析工具。其中最常用的数据结构是DataFrame,本文将详细介绍DataFrame的用法。D...

weixin_35174422的博客 1万+

核心数据结构:DataFrame

需安装pyarrow包。Nan通常表示一个无效的或未定义的数字值,是浮点数的一种特殊取值,用于表示那些不能表示为正常数字的情况,如 0/0、∞-∞等数学运算的结果。如要保存的对象是计算的中间结果,或者保存的对象以后会在Python中复用,可把对象保存为.pickle文件。如要保存的对象是计算的中间结果,或者保存的对象以后会在Python中复用,可把对象保存为.pickle文件。一阶差分,对序列中的元素进行差分运算,也就是用当前元素减去前一个元素得到差值,默认情况下,它会计算一阶差分,即相邻元素之间的差值。

weixin_74414860的博客 1383
上一篇: pandas基础:Series、和NumPy里的random.x()
下一篇: pandas在web开发中的使用场景:删除文章的重复评论、统计某个用户的评论数量
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值