- Python pandas教程
- Python Pandas - 主页
- Python Pandas - 简介
- Python Pandas - 环境设置
- 数据结构简介
- Python pandas - 系列
- Python Pandas - 数据帧
- Python Pandas - 面板
- Python Pandas - 基本功能
- 描述性统计
- 功能应用
- Python Pandas - 重新索引
- Python Pandas - 迭代
- Python Pandas - 排序
- 处理文本数据
- 选项和定制
- 索引和选择数据
- 统计功能
- Python Pandas - 窗口函数
- Python Pandas - 聚合
- Python Pandas - 缺失数据
- Python Pandas - GroupBy
- Python Pandas - 合并/连接
- Python Pandas - 连接
- Python Pandas - 日期功能
- Python Pandas - Timedelta
- Python Pandas - 分类数据
- Python Pandas - 可视化
- Python Pandas - IO 工具
- Python Pandas - 稀疏数据
- Python Pandas - 注意事项和陷阱
- 与SQL的比较
- Python Pandas 有用资源
- Python Pandas - 快速指南
- Python Pandas - 有用的资源
- Python Pandas - 讨论
Python Pandas - 基本功能
到目前为止,我们已经了解了 Pandas 的三种数据结构以及如何创建它们。我们将主要关注 DataFrame 对象,因为它在实时数据处理中的重要性,并讨论一些其他 DataStructures。
系列基本功能
先生。 | 属性或方法及描述 |
---|---|
1 |
轴 返回行轴标签的列表 |
2 |
数据类型 返回对象的数据类型。 |
3 |
空的 如果系列为空,则返回 True。 |
4 |
恩迪姆 根据定义 1,返回基础数据的维数。 |
5 |
尺寸 返回基础数据中的元素数量。 |
6 |
价值观 以 ndarray 形式返回系列。 |
7 |
头() 返回前 n 行。 |
8 |
尾巴() 返回最后 n 行。 |
现在让我们创建一个系列并查看上面列出的所有属性操作。
例子
import pandas as pd import numpy as np #Create a series with 100 random numbers s = pd.Series(np.random.randn(4)) print s
其输出如下 -
0 0.967853 1 -0.148368 2 -1.395906 3 -1.758394 dtype: float64
轴
返回该系列的标签列表。
import pandas as pd import numpy as np #Create a series with 100 random numbers 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]。
空的
返回表示对象是否为空的布尔值。True 表示该对象为空。
import pandas as pd import numpy as np #Create a series with 100 random numbers s = pd.Series(np.random.randn(4)) print ("Is the Object empty?") print s.empty
其输出如下 -
Is the Object empty? False
恩迪姆
返回对象的维数。根据定义,Series 是一维数据结构,因此它返回
import pandas as pd import numpy as np #Create a series with 4 random numbers 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
尺寸
返回系列的大小(长度)。
import pandas as pd import numpy as np #Create a series with 4 random numbers 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
价值观
以数组形式返回系列中的实际数据。
import pandas as pd import numpy as np #Create a series with 4 random numbers 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 ]
头尾
要查看 Series 或 DataFrame 对象的小样本,请使用 head() 和 tail() 方法。
head()返回前n行(观察索引值)。要显示的默认元素数量为 5,但您可以传递自定义数量。
import pandas as pd import numpy as np #Create a series with 4 random numbers s = pd.Series(np.random.randn(4)) print ("The original series is:") print s print ("The first two rows of the data series:") print s.head(2)
其输出如下 -
The original series is: 0 0.720876 1 -0.765898 2 0.479221 3 -0.139547 dtype: float64 The first two rows of the data series: 0 0.720876 1 -0.765898 dtype: float64
tail()返回最后n行(观察索引值)。要显示的默认元素数量为 5,但您可以传递自定义数量。
import pandas as pd import numpy as np #Create a series with 4 random numbers s = pd.Series(np.random.randn(4)) print ("The original series is:") print s print ("The last two rows of the data series:") print s.tail(2)
其输出如下 -
The original series is: 0 -0.655091 1 -0.881407 2 -0.608592 3 -2.341413 dtype: float64 The last two rows of the data series: 2 -0.608592 3 -2.341413 dtype: float64
数据框架基本功能
现在让我们了解什么是 DataFrame 基本功能。下表列出了有助于 DataFrame 基本功能的重要属性或方法。
先生。 | 属性或方法及描述 |
---|---|
1 |
时间 转置行和列。 |
2 |
轴 返回一个列表,其中行轴标签和列轴标签作为唯一的成员。 |
3 |
数据类型 返回此对象中的数据类型。 |
4 |
空的 如果 NDFrame 完全为空 [无项目],则为 True;如果任何轴的长度为 0。 |
5 |
恩迪姆 轴数/数组维度。 |
6 |
形状 返回表示 DataFrame 维度的元组。 |
7 |
尺寸 NDFrame 中的元素数量。 |
8 |
价值观 NDFrame 的 Numpy 表示。 |
9 |
头() 返回前 n 行。 |
10 |
尾巴() 返回最后 n 行。 |
现在让我们创建一个 DataFrame 并看看上述属性是如何操作的。
例子
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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(转置)
返回 DataFrame 的转置。行和列将互换。
import pandas as pd import numpy as np # Create a Dictionary of 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])} # Create a DataFrame df = pd.DataFrame(d) print ("The transpose of the data series is:") print df.T
其输出如下 -
The transpose of the data series is: 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
轴
返回行轴标签和列轴标签的列表。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print ("Row axis labels and column axis labels are:") print df.axes
其输出如下 -
Row axis labels and column axis labels are: [RangeIndex(start=0, stop=7, step=1), Index([u'Age', u'Name', u'Rating'], dtype='object')]
数据类型
返回每列的数据类型。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print ("The data types of each column are:") print df.dtypes
其输出如下 -
The data types of each column are: Age int64 Name object Rating float64 dtype: object
空的
返回布尔值,表示对象是否为空;True 表示该对象为空。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print ("Is the object empty?") print df.empty
其输出如下 -
Is the object empty? False
恩迪姆
返回对象的维数。根据定义,DataFrame 是一个 2D 对象。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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
形状
返回表示 DataFrame 维度的元组。元组(a,b),其中a代表行数,b代表列数。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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)
尺寸
返回 DataFrame 中的元素数量。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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
价值观
以 NDarray 形式返回 DataFrame 中的实际数据。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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]]
头尾
要查看 DataFrame 对象的小样本,请使用head()和 tail() 方法。head()返回前n行(观察索引值)。要显示的默认元素数量为 5,但您可以传递自定义数量。
import pandas as pd import numpy as np #Create a Dictionary of 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])} #Create a 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 #Create a Dictionary of 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])} #Create a DataFrame df = pd.DataFrame(d) print ("Our data frame is:") print df print ("The last two rows of the data frame is:") print df.tail(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 last two rows of the data frame is: Age Name Rating 5 29 Smith 4.6 6 23 Jack 3.8