Pandas 基本方法实例

到目前为止,我们了解了三个Pandas DataStructures以及如何创建它们。由于它在实时数据处理中的重要性,因此我们将主要关注DataFrame对象,并讨论其他一些DataStructures。

方法 描述
axes 返回行轴标签的列表
dtype 返回对象的dtype。
empty 如果Series为空,则返回True。
ndim 根据定义返回基础数据的维数。
size 返回基础数据中的元素数。
values 将Series返回为ndarray。
head() 返回前n行。
tail() 返回最后n行。
接下来我们创建一个Series,并看看上所有列表的属性操作
 import pandas as pd
import numpy as np
# 用100随机数创建一个Series
s = pd.Series(np.random.randn(4))
print(s)
运行结果: 0 0.967853
1 -0.148368
2 -1.395906
3 -1.758394
dtype: float64

axes

返回Series标签的列表

 import pandas as pd
import numpy as np
# 用100随机数创建一个Series
s = pd.Series(np.random.randn(4))
print ("The axes are:")
print(s.axes)
运行结果: The axes are:
[RangeIndex(start=0, stop=4, step=1)]

以上结果是0到5(即[0,1,2,3,4])。

empty

返回布尔值,说明对象是否为空。True表示对象为空

 import pandas as pd
import numpy as np
# 用100随机数创建一个Series
s = pd.Series(np.random.randn(4))
print ("Is the Object empty?")
print(s.empty)
运行结果: Is the Object empty?
False

ndim

返回对象的维数。根据定义,Series 是一个1D 数据结构,所以它返回

 import pandas as pd
import numpy as np
# 用4个随机数创建一个Series
s = pd.Series(np.random.randn(4))
print s
print ("The dimensions of the object:")
print(s.ndim)
运行结果: 0 0.175898
1 0.166197
2 -0.609712
3 -1.377000
dtype: float64 The dimensions of the object:
1

size

返回Series的大小(长度).

import pandas as pd
import numpy as np
# 用4个随机数创建一个Series
s = pd.Series(np.random.randn(2))
print s
print ("The size of the object:")
print(s.size)
运行结果: 0 3.078058
1 -1.207803
dtype: float64 The size of the object:
2

values

以数组形式返回Series数据

 import pandas as pd
import numpy as np
# 用4个随机数创建一个Series
s = pd.Series(np.random.randn(4))
print s
print ("The actual data series is:")
print(s.values)
运行结果: 0 1.787373
1 -0.605159
2 0.180477
3 -0.140922
dtype: float64 The actual data series is:
[ 1.78737302 -0.60515881 0.18047664 -0.1409218 ]

Head 和 Tail

要查看Series或DataFrame对象的头尾数据,请使用head() 和tail() 方法。

head() 返回前n行(观察索引值)。默认显示的元素数是5,但是您可以传递自定义数字。

 import pandas as pd
import numpy as np
# 用4个随机数创建一个Series
s = pd.Series(np.random.randn(4))
print ("最初的系列是:")
print s
print ("数据系列的前两行:")
print(s.head(2))
运行结果: 最初的系列是:
0 0.720876
1 -0.765898
2 0.479221
3 -0.139547
dtype: float64 数据系列的前两行:
0 0.720876
1 -0.765898
dtype: float64

tail() 返回最后n行(观察索引值)。默认显示的元素数是5,但是您可以传递自定义数字。

 import pandas as pd
import numpy as np
# 用4个随机数创建一个Series
s = pd.Series(np.random.randn(4))
print("最初的系列是:")
print(s)
print("数据序列的最后两行:")
print(s)tail(2)
运行结果: 最初的系列是:
0 -0.655091
1 -0.881407
2 -0.608592
3 -2.341413
dtype: float64 数据序列的最后两行:
2 -0.608592
3 -2.341413
dtype: float64

DataFrame 基本功能

现在让我们了解什么是DataFrame基本功能。下表列出了有助于DataFrame基本功能的重要属性或方法。

属性/方法 描述
T 行和列互相转换
axes 返回以行轴标签和列轴标签为唯一成员的列表。
dtypes 返回此对象中的dtypes。
empty 如果NDFrame完全为空[没有项目],则为true;否则为false。如果任何轴的长度为0。
ndim 轴数/数组尺寸。
shape 返回表示DataFrame维度的元组。
size NDFrame中的元素数。
values NDFrame的数字表示。
head() 返回前n行。
tail() 返回最后n行。

下面我们下创建一个DataFrame并查看上述属性的所有操作方式。

Example

import pandas as pd
import numpy as np
# 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our data series is:")
print(df)
运行结果: Our data series is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80

T (Transpose)

返回DataFrame的转置。行和列将互换。

 import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("数据序列的转置是:")
print(df.T)
运行结果: 数据序列的转置是:
0 1 2 3 4 5 6
Age 25 26 25 23 30 29 23
Name Tom James Ricky Vin Steve Smith Jack
Rating 4.23 3.24 3.98 2.56 3.2 4.6 3.8

axes

返回行轴标签和列轴标签的列表。

 import pandas as pd
import numpy as np
# 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("行轴标签和列轴标签是:")
print(df.axes)
运行结果: 行轴标签和列轴标签是:
[RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'],
dtype='object')]

dtypes

返回每一列的数据类型。

 

 import pandas as pd
import numpy as np
# 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("每列的数据类型如下:")
print(df.dtypes)
运行结果: 每列的数据类型如下:
Age int64
Name object
Rating float64
dtype: object

empty

返回布尔值,说明对象是否为空;True表示对象为空。

 import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Is the object empty?")
print(df.empty)
运行结果: Is the object empty?
False

ndim

返回对象的数量。根据定义,DataFrame是2D对象。

import pandas as pd
import numpy as np
# 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The dimension of the object is:")
print(df.ndim)
运行结果: Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80 The dimension of the object is:
2

shape

返回表示DataFrame维度的元组。元组(a,b),其中a表示行数,b表示列数。

 import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The shape of the object is:")
print(df.shape)
运行结果: Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80 The shape of the object is:
(7, 3)

size

返回DataFrame中的元素数。

import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The total number of elements in our object is:")
print(df.size)
运行结果: Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80 The total number of elements in our object is:
21

values

以NDarray的形式返回DataFrame中的实际数据。

import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our object is:")
print df
print ("The actual data in our data frame is:")
print(df.values)
运行结果: Our object is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80
The actual data in our data frame is:
[[25 'Tom' 4.23]
[26 'James' 3.24]
[25 'Ricky' 3.98]
[23 'Vin' 2.56]
[30 'Steve' 3.2]
[29 'Smith' 4.6]
[23 'Jack' 3.8]]

Head & Tail

要查看DataFrame对象的头尾数据,请使用head()和tail()方法。head() 返回前n行(观察索引值)。默认显示的元素数是5,但是您可以传递自定义数字。

 import pandas as pd
import numpy as np # 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])}
# 创建一个 DataFrame
df = pd.DataFrame(d)
print ("Our data frame is:")
print df
print ("The first two rows of the data frame is:")
print(df.head(2))
运行结果: Our data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80 The first two rows of the data frame is:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24

tail() 返回最后n行(观察索引值)。默认显示的元素数是5,但是您可以传递自定义数字。

import pandas as pd
import numpy as np
# 创建Series字典
d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack']),
'Age':pd.Series([25,26,25,23,30,29,23]),
'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8])} # 创建一个 DataFrame
df = pd.DataFrame(d)
print ("我们的数据帧是:")
print df
print ("数据帧的最后两行是:")
print(df.tail(2))
运行结果: 我们的数据帧是:
Age Name Rating
0 25 Tom 4.23
1 26 James 3.24
2 25 Ricky 3.98
3 23 Vin 2.56
4 30 Steve 3.20
5 29 Smith 4.60
6 23 Jack 3.80 数据帧的最后两行是:
Age Name Rating
5 29 Smith 4.6
6 23 Jack 3.8
 
 

Pandas库学习笔记(6) -- Pandas 基本方法的更多相关文章

  1. pandas库学习笔记(二)DataFrame入门学习

    Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...

  2. pandas库学习笔记(一)Series入门学习

    Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...

  3. python的pandas库学习笔记

    导入: import pandas as pd from pandas import Series,DataFrame 1.两个主要数据结构:Series和DataFrame (1)Series是一种 ...

  4. 学习笔记之pandas

    Python Data Analysis Library — pandas: Python Data Analysis Library https://pandas.pydata.org/ panda ...

  5. python之pandas学习笔记-初识pandas

    初识pandas python最擅长的就是数据处理,而pandas则是python用于数据分析的最常用工具之一,所以学python一定要学pandas库的使用. pandas为python提供了高性能 ...

  6. 【python学习笔记】9.魔法方法、属性和迭代器

    [python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

  7. numpy, matplotlib库学习笔记

    Numpy库学习笔记: 1.array()   创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...

  8. Java8学习笔记(八)--方法引入的补充

    在Java8学习笔记(三)--方法引入中,简要总结了方法引入时的使用规则,但不够完善.这里补充下几种情况: 从形参到实例方法的实参 示例 public class Example { static L ...

  9. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

  10. muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制

    目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...

随机推荐

  1. CSS操作——文本属性

    1.font-style(字体样式风格) /* 属性值: normal:设置字体样式为正体.默认值. italic:设置字体样式为斜体.这是选择字体库中的斜体字. oblique:设置字体样式为斜体. ...

  2. C# wpf 使用GDI+实现截屏

    wpf截屏系列第一章 使用GDI+实现截屏(本章)第二章 使用DockPanel制作截屏框第三章 实现截屏框实时截屏第四章 使用ffmpeg命令行实现录屏 文章目录wpf截屏系列前言一.引用Syste ...

  3. .NET桌面程序混合开发之四:键盘事件的响应

    1. 问题 在生产环境中,有一些场景需要窗体来响应键盘事件(注意,是窗体响应,而不是窗体上的控件响应),如解析扫码枪的扫描结果.但在嵌入WebView2的Form程序,Host Form无法对键盘事件 ...

  4. 7.20考试总结(NOIP模拟21)[Median·Game·Park]

    雨滴降落的速度是每秒十米,我该用怎么样的速度,才能将你挽留? 前言 关于语文素养如何限制OI水平2,正好现在文化课巨佬们正在考语文(那我走???) T1 我以为整数是不用输出 .0 的,然后喜挂 30 ...

  5. 30万奖金池鼓励工控人,AIRIOT智慧物联应用场景创新大赛等你来战!

    随着工业和智慧领域数智化发展步伐的逐步加快,智慧物联应用场景越来越广泛,涵盖了智慧城市.智能园区.智慧能源.智慧电力.智能制造.工业物联网等多个领域.航天科技控股集团股份有限公司举办[AIRIOT智慧 ...

  6. ABC332

    D 我们可以把矩阵 \(\text{A}\) 看成 \({p,q}\). \(p\) 指现在一行最开始在哪里,\(q\) 指现在这一列最开始在哪里. 于是我们枚举 \(p\) 和 \(q\) 所有可能 ...

  7. 将手机声音通过蓝牙输入到WIN10电脑-安卓手机投屏直播无声音

    安卓手机投屏无声音,斗鱼,虎牙,直播无声音.可以用本方案,前提是电脑要有蓝牙功能,没有蓝牙,可以购买一个USB蓝牙适配器(不建义买CSR芯片的,CSR驱动会导致office 和远程桌面有问题). 操作 ...

  8. ansible-role角色

    官网文档 https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html 为什么要用role 之前你部署的n ...

  9. zabbix-agent修改主动模式

    1.zabbix-agent工作模式 zabbix-agent进程,有两种工作模式,主动模式,被动视频 1.1 被动模式 被动模式是指 zabbix-server 将需要请求的数据,发给zabbix- ...

  10. k8s介绍

    k8s容器编排系统 k8S是谷歌几十年来研发的一套系统,更新了运维领域的玩法. 内容很多,先快速练习玩法,知道是什么就行. 具体[为什么]再花时间慢慢学吧! 0.参考资料 1. k8s能干什么 htt ...