千家信息网

Python中Pandas知识点有哪些

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍了Python中Pandas知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。pandas 是基于NumPy
千家信息网最后更新 2025年01月31日Python中Pandas知识点有哪些

这篇文章主要介绍了Python中Pandas知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

1.pandas数据结构的介绍

  • Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。

  • Time- Series:以时间为索引的Series。

  • DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。

  • Panel :三维的数组,可以理解为DataFrame的容器。

2.Series的操作

2.1 对象创建 2.1.1 直接创建2.1.2 字典创建

import pandas as pd import numpy as np # 直接创建 s = pd.Series(np.random.randn(5), index=['a','b','c','d','e']) print(s)  # 字典(dict)类型数据创建 s = pd.Series( {'a':10, 'b':20, 'c':30}, index=['b', 'c', 'a', 'd'])  OUT: a   -0.620323 b   -0.189133 c    1.677690 d   -1.480348 e   -0.539061 dtype: float64  OUT: a    10 b    20 c    30 dtype: int64

2.2 查看数据 切片、索引、dict操作 Series既然是一维数组类型的数据结构,那么它支持想数组那样去操作它。通过数组下标索引、切片都可以去操作他,且它的data可以是dict类型的,那么它肯定也就支持字典的索引方式。

import pandas as pd import numpy as np  s = pd.Series(np.random.randn(5), index=['a','b','c','d','e'])  print(s)  # 下标索引 print('下标索引方式s[0] = : %s' % s[0])  # 字典访问方式 print('字典访问方式s[b] = :%s' % s['b'])  # 切片操作 print('切片操作s[2:]\n:%s' % s[2:]) print('a' in s) print('k' in s) OUT: a   -0.799676 b   -1.581704 c   -1.240885 d    0.623757 e   -0.234417 dtype: float64  下标索引方式s[0] = : -0.799676067487 字典访问方式s[b] = :-1.58170351838 切片操作s[2:]: c   -1.240885 d    0.623757 e   -0.234417 True False

2.3 Series的算术操作

import pandas as pd import numpy as np  s1 = pd.Series(np.random.randn(3), index=['a','b','c'])  s2 = pd.Series(np.random.randn(3), index=['a','b','c']) print(s1+s2) print(s1-s2) print(s1*s2) print(s1/s2) OUT: a    0.236514 b   -0.132153 c    0.203186 dtype: float64  a    0.305397 b   -1.474441 c   -1.697982 dtype: float64  a   -0.009332 b   -0.539128 c   -0.710465 dtype: float64  a   -7.867120 b   -1.196907 c   -0.786252 dtype: float64

3.dataframe的操作

3.1 对象创建

In [70]:  data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],'year': [2000, 2001, 20     ...: 02, 2001, 2002],'pop': [1.5, 1.7, 3.6, 2.4, 2.9]} In [71]: data Out[71]:  {'pop': [1.5, 1.7, 3.6, 2.4, 2.9],  'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],  'year': [2000, 2001, 2002, 2001, 2002]} # 建立DataFrame对象 In [72]: frame1 = DataFrame(data) # 红色部分为自动生成的索引 In [73]: frame1 Out[73]:     pop   state  year 0  1.5    Ohio  2000 1  1.7    Ohio  2001 2  3.6    Ohio  2002 3  2.4  Nevada  2001 4  2.9  Nevada  2002  >>> lista = [1,2,5,7] >>> listb = ['a','b','c','d'] >>> df = pd.DataFrame({'col1':lista,'col2':listb}) >>> df    col1 col2 0     1    a 1     2    b 2     5    c 3     7    d

3.2 选择数据

In [1]: import numpy as np    ...: import pandas as    ...: df = pd.DataFrame  In [2]: df Out[2]:     a   b   c 0   0   2   4 1   6   8  10 2  12  14  16 3  18  20  22 4  24  26  28 5  30  32  34 6  36  38  40 7  42  44  46 8  48  50  52 9  54  56  58  In [3]: df.loc[0,'c'] Out[3]: 4  In [4]: df.loc[1:4,['a','c']] Out[4]:     a   c 1   6  10 2  12  16 3  18  22 4  24  28 In [5]: df.iloc[0,2] Out[5]: 4  In [6]: df.iloc[1:4,[0,2]] Out[6]:     a   c 1   6  10 2  12  16 3  18  22

3.3 函数应用

frame = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'),                      index=['Utah', 'Ohio', 'Texas', 'Oregon']) frame np.abs(frame)  OUT:             b      d            e Utah 0.204708 0.478943 0.519439 Ohio 0.555730 1.965781 1.393406 Texas 0.092908 0.281746 0.769023 Oregon 1.246435 1.007189 1.296221   f = lambda x: x.max() - x.min() frame.apply(f) OUT: b    1.802165 d    1.684034 e    2.689627 dtype: float64  def f(x):     return pd.Series([x.min(), x.max()], index=['min', 'max']) frame.apply(f)              b d       e Utah -0.20 0.48 -0.52 Ohio -0.56 1.97 1.39 Texas 0.09 0.28 0.77 Oregon 1.25 1.01 -1.30

3.4 统计概述和计算

df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5],                    [np.nan, np.nan], [0.75, -1.3]],                   index=['a', 'b', 'c', 'd'],                   columns=['one', 'two']) df OUT:     one     two a 1.40 NaN b 7.10 -4.5 c NaN     NaN d 0.75 -1.3   df.info() df.describe()    Index: 4 entries, a to d Data columns (total 2 columns): one    3 non-null float64 two    2 non-null float64 dtypes: float64(2) memory usage: 256.0+ bytes  OUT:           one          two count 3.000000 2.000000 mean 3.083333 -2.900000 std 3.493685 2.262742 min 0.750000 -4.500000 25% 1.075000 -3.700000 50% 1.400000 -2.900000 75% 4.250000 -2.100000 max 7.100000 -1.300000

3.5 数据读取

data = pd.read_csv('./dataset/HR.csv') data.info()  out:  RangeIndex: 14999 entries, 0 to 14998 Data columns (total 10 columns): satisfaction_level       14999 non-null float64 last_evaluation          14999 non-null float64 number_project           14999 non-null int64 average_montly_hours     14999 non-null int64 time_spend_company       14999 non-null int64 Work_accident            14999 non-null int64 left                     14999 non-null int64 promotion_last_5years    14999 non-null int64 sales                    14999 non-null object salary                   14999 non-null object dtypes: float64(2), int64(6), object(2) memory usage: 1.1+ MB  data = pd.read_csv('./dataset/movielens/movies.dat', header=None, names=['name', 'types'], sep='::', engine='python') data.head() OUT:                 name types 1 Toy Story (1995) Animation|Children's|Comedy 2 Jumanji (1995) Adventure|Children's|Fantasy 3 Grumpier Old Men (1995) Comedy|Romance 4 Waiting to Exhale (1995) Comedy|Drama 5 Father of the Bride Part II (1995) Comedy   data = pd.read_excel('./dataset/my_excel.xlsx', sheet_name=1) data.head() ouput:         date H1 H2 H3 0 2014-06-01 1 2 3 1 2014-06-02 2 3 4 2 2014-06-03 3 4 5 3 2014-06-04 4 5 6

#4. Time- Series的操作

生成日期范围:

import pandas as pd pd.data_range('20190313',periods=10)  OUT: DatetimeIndex(['2019-03-13', '2019-03-14', '2019-03-15', '2019-03-16',                '2019-03-17', '2019-03-18', '2019-03-19', '2019-03-20',                '2019-03-21', '2019-03-22'],               dtype='datetime64[ns]', freq='D')

5. 绘图功能

ts = pd.DataFrame(np.random.randn(1000,4),index=pd.date_range('20180101',periods=1000),columns=list('abcd')) ts = ts.cumsum() ts.plot(figsize = (12,8)) plt.show()

感谢你能够认真阅读完这篇文章,希望小编分享的"Python中Pandas知识点有哪些"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

数据 索引 字典 方式 数组 下标 数据结构 篇文章 类型 结构 知识 对象 工具 一维 支持 知识点 函数 功能 容器 数据分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发好难可以换个行业吗 河北定制网络技术咨询信息推荐 聊城微信小程序软件开发 重庆服务器维修技术云主机 网易我的世界有1.14服务器吗 架构师之路数据库设计方法 网络安全进校园手抄报竖版 数据仓库是数据库的组成部分吗 王者服务器一直进不去怎么办 网络安全检查工总结gov 电脑信息包括网络技术吗 华为服务器配置参数表 windows服务器带宽被占满 济南华为互联网科技产业园 app埋点数据库设计 黄浦区环保网络技术销售公司 网络安全工程师职业树 链接数据库的php git代理服务器IP 网络安全手抄报图片壁纸ins 亿加乐上海网络技术 河北网络技术转让哪家便宜 sparql数据库有哪些 战网无法安全的连接服务器 用r进行数据库分析和作图 乍得企业数据库 网络技术最高等级 数据库为什么要有自增id .网络安全的主要威胁 EI数据库收录是什么意思
0