热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Pandas01(安装、Series及DataFrame介绍)

Pandas是Python语言的一个扩展程序库,用于数据分析。Pandas一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。

Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。

Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

在Pandas中,主要的数据结构是Series(一维数据)和DataFrame(二维数据):

Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

目录

1. Pandas安装

1.1 使用pip安装Pandas

1.2 测试示例

2. Series数据结构

2.1 Serise介绍

2.2 series 创建示例 

2.3 Series数据提取(索引)

3. DataFrame

3.1 DataFrame介绍

3.2  DataFrame创建示例

3.3 DataFrame数据提取(索引)

3.4 DataFrame数据操作

3.4.1 添加列数据

3.4.2 列数据删除

3.4.3 数据追加

3.4.4  索引删除数据




1. Pandas安装

与Numpy一样,Pandas可以使用pip或conda进行安装,如果已经安装了anaconda集成开发环境,其中自带numpy与pandas,无需再次安装。


1.1 使用pip安装Pandas

pip install pandas

成功安装后,便可通过导入pandas包进行使用:

import pandas as pd

1.2 测试示例

import numpy as np
import pandas as pds = pd.Series([1,2,3,4,np.nan,6,8])
s


2. Series数据结构


2.1 Serise介绍

Pandas Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。

Series 由索引(index)和列组成,函数如下:

pandas.Series( data, index, dtype, name, copy)

  • data:一组数据(ndarray 类型)。

  • index:数据索引标签,如果不指定,默认从 0 开始。

  • dtype:数据类型,默认会自己判断。

  • name:设置名称。

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


2.2 series 创建示例 

1. 创建一个普通示例,并设置索引值:

import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[100,101,102,103])
s

输出结果: 

100 a
101 b
102 c
103 d
dtype: object

根据索引取出其中元素:

print(s[102])

 输出结果:

 c

2. 使用 key/value 对象,类似字典来创建 Series:

data = {'user1':100,'user2':200,'user3':250,
}
s = pd.Series(data)
s

输出结果:

 3. 标量创建Series:

s = pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
print(s)

输出结果: 


 2.3 Series数据提取(索引)

在Series数据结构中,对于数据的提取,可以采用数组下标索引的方式,也可以采用index参数设置的方式对其元素进行提取。

s = pd.Series([1,2,3,4,5,6],index=['a','b','c','d','e','f'])
s

通过如下索引方式: 

s[0]s[0:3]s[-3:]#取出最后三个s['a']s[['a','c','f']]

 输出结果为

1a 1
b 2
c 3
dtype: int64d 4
e 5
f 6
dtype: int641a 1
c 3
f 6
dtype: int64

3. DataFrame


3.1 DataFrame介绍

DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 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。


3.2  DataFrame创建示例

1. 基础表格创建

import pandas as pd
import numpy as npdf = pd.DataFrame()
#2列数据,1列写名字,2列写年龄
data = [['TOM',10],['BOB',12],['AOA',13]]
df = pd.DataFrame(data,columns=['username','age'])

输出结果:

 

2. 使用字典创建 

#字典创建dataframe
data = {"username":['小黑','小白','小刘'],'income':[1000,2000,3000]
}
df = pd.DataFrame(data,index=[1,2,3])
df

输出结果:

 3. 使用Series方式创建

d = {'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d'])
}
df = pd.DataFrame(d)
df

 输出结果:

空数据会使用NaN进行填充占位。 

 


3.3 DataFrame数据提取(索引)

如上案例中,要获取第一列数据,可以使用df['one']对其进行获取:

 除此之外,还可以使用loc()、iloc()及属性的方式索引数据。


3.4 DataFrame数据操作


3.4.1 添加列数据

在DataFrame中,可以直接使用DataFrame['columns'] = data进行添加:

df['three'] = pd.Series([4,5,6],index=['a','b','c'])
df['four'] = df['one']+df['three']
print(df)


 3.4.2 列数据删除

对于整列数据删除,可以使用del或dataframe.pop方式:

del df['four']
df.pop('two')

输出结果:


 3.4.3 数据追加

dataframe中,可以使用dataframe.append进行数据追加:

d = {'one':pd.Series([1,2,3],index=['a','b','c']),'two':pd.Series([1,2,3,4],index=['a','b','c','d'])
}
df = pd.DataFrame(d)
df2 = pd.DataFrame([[14,15],[15,16]],columns=['one','two'],index=['e','f'])
df = df.append(df2)
print(df)

输出结果:


3.4.4  索引删除数据

dataframe中,可以使用dataframe.drop(index)进行数据删除:

例如删除上述数据中以d为索引的行数据:

# 删除以d为索引的数据
df.drop("d")

输出结果:

 


推荐阅读
  • C#按值复制数组我有一个类型化的数组MyType[]types;我想制作这个数组的独立副本。我试过这个MyType[]types2newMyType[types.Length];t ... [详细]
  • 记录工作和学习中遇到和使用过的Python库。Target四个Level整理Collect学习Learn练习Practice掌握Master1.Python原生和功能增强1.1py ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文总结了使用不同方式生成 Dataframe 的方法,包括通过CSV文件、Excel文件、python dictionary、List of tuples和List of dictionary。同时介绍了一些注意事项,如使用绝对路径引入文件和安装xlrd包来读取Excel文件。 ... [详细]
  • 记一次flatMap的使用业务需求给了我以后个execl然后一个单元格一个数据我就想读取csv然后输出但是每一行输出都是一个数组,使用流操作后输出了一个list的数组 ... [详细]
  • 在这一期的SendMessage函数应用中,我将向大家介绍如何利用消息函数来扩展树型列表(TreeView)控件的功能相信对于树型列表控件大家十分的熟悉, ... [详细]
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • AI开发选择哪种编程语言?如果您是新手AI开发人员,您可能很难选择用于开发AI的编程语言。虽然有很多可用的编程语言,但我会将注意力集中在Python和 ... [详细]
  • R语言基础_数据导入&保存
    数据分析文件常用的储存格式为CSV(.csv)和EXCEL(.xlsx),其余文 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • 基于 Scheduled SQL 对 VPC FlowLog 实现细粒度时间窗口分析
    背景阿里云专有网络(VPC)提供流日志功能,支持VPC网络中弹性网卡流量、VPC流量及交换机流量的记录与存储。对流日志分析可以监控访问控 ... [详细]
author-avatar
somnus
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有