Python Pandas选项和自定义
Pandas提供API来自定义其行为的某些方面,大多使用来显示。 API由五个相关函数组成。它们分别是 -
get_option()
set_option()
reset_option()
describe_option()
option_context()
现在来了解函数是如何工作的。
get_option(param)
get_option(param)需要一个参数,并返回下面输出中给出的值 - get_option需要一个参数,并返回下面输出中给出的值 - display.max_rows 显示默认值。解释器读取此值并显示此值作为显示上限的行。 display.max_columns 显示默认值,解释器读取此值并显示此值作为显示上限的列。
set_option(param,value)
set_option需要两个参数,并将该值设置为指定的参数值
reset_option(param)
reset_option接受一个参数,并将该值设置为默认值。
describe_option(param)
describe_option打印参数的描述。
option_context()
o ...
Python Pandas字符串和文本数据
_Pandas_提供了一组字符串函数,可以方便地对字符串数据进行操作。 最重要的是,这些函数忽略(或排除)丢失/NaN值。 几乎这些方法都使用Python字符串函数(请参阅: http://docs.python.org/3/library/stdtypes.html#string-methods )。 因此,将Series对象转换为String对象,然后执行该操作。 下面来看看每个操作的执行和说明。
编号
函数
描述
1
lower()
将Series/Index中的字符串转换为小写。
2
upper()
将Series/Index中的字符串转换为大写。
3
len()
计算字符串长度。
4
strip()
帮助从两侧的系列/索引中的每个字符串中删除空格(包括换行符)。
5
split(' ')
用给定的模式拆分每个字符串。
6
cat(sep=' ')
使用给定的分隔符连接系列/索引元素。
7
get_dummies()
返回具有单热编码值的数据帧(DataFrame)。
8
contains(pattern)
如果元素中包含子字符串,则返回每个元素的布尔值True,否则为Fals ...
Python Pandas之迭代和排序
Pandas对象之间的基本迭代的行为取决于类型。当迭代一个系列时,它被视为数组式,基本迭代产生这些值。其他数据结构,如:DataFrame和Panel,遵循类似惯例迭代对象的键。 简而言之,基本迭代(对于i在对象中)产生 -
Series - 值
DataFrame - 列标签
Pannel - 项目标签
迭代DataFrame
迭代DataFrame提供列名 要遍历数据帧(DataFrame)中的行,可以使用以下函数 -
iteritems() - 迭代(key,value)对
iterrows() - 将行迭代为(索引,系列)对
itertuples() - 以namedtuples的形式迭代行
iteritems() 将每个列作为键,将值与值作为键和列值迭代为Series对象。 iterrows() iterrows()返回迭代器,产生每个索引值以及包含每行数据的序列 itertuples() itertuples()方法将为DataFrame中的每一行返回一个产生一个命名元组的迭代器。元组的第一个元素将是行的相应索引值,而剩余的值是行值。
Pandas 排序
_Pand ...
Python Pandas 重建索引
重新索引会更改DataFrame的行标签和列标签。重新索引意味着符合数据以匹配特定轴上的一组给定的标签。 可以通过索引来实现多个操作 -
重新排序现有数据以匹配一组新的标签。
在没有标签数据的标签位置插入缺失值(NA)标记。
import pandas as pd
import numpy as np
N = 20
df = pd.DataFrame({
‘A’: pd.date_range(start=‘2016-01-01’, periods=N, freq=‘D’),
‘x’: np.linspace(0, stop=N - 1, num=N),
‘y’: np.random.rand(N),
‘C’: np.random.choice([‘Low’, ‘Medium’, ‘High’], N).tolist(),
‘D’: np.random.normal(100, 10, size=(N)).tolist()
})
print(df)
# reindex the DataFrame
df_reindexed = df.reindex(index=[0, 2, 5], co ...
Python Pandas函数应用
要将自己或其他库的函数应用于_Pandas_对象,应该了解三种重要的方法。以下讨论了这些方法。 使用适当的方法取决于函数是否期望在整个DataFrame,行或列或元素上进行操作。
表格函数应用:pipe()
行或列函数应用:apply()
元素函数应用:applymap()
表格函数应用
可以通过将函数和适当数量的参数作为管道参数来执行自定义操作。 因此,对整个DataFrame执行操作
行或列智能函数应用
可以使用apply()方法沿DataFrame或Panel的轴应用任意函数,它与描述性统计方法一样,采用可选的轴参数。 默认情况下,操作按列执行,将每列列为数组。
元素智能函数应用
并不是所有的函数都可以向量化(也不是返回另一个数组的NumPy数组,也不是任何值),在DataFrame上的方法applymap()和类似地在Series上的map()接受任何Python函数,并且返回单个值。 代码实例:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), columns=[ ...
Python Pandas之描述性统计
有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作.
函数和说明
下面来了解Python Pandas中描述性统计信息的函数,下表列出了重要函数 -
编号
函数
描述
1
count()
非空观测数量
2
sum()
所有值之和
3
mean()
所有值的平均值
4
median()
所有值的中位数
5
mode()
值的模值
6
std()
值的标准偏差
7
min()
所有值中的最小值
8
max()
所有值中的最大值
9
abs()
绝对值
10
prod()
数组元素的乘积
11
cumsum()
累计总和
12
cumprod()
累计乘积
注 - 由于DataFrame是异构数据结构。通用操作不适用于所有函数。
类似于:sum(),cumsum()函数能与数字和字符(或)字符串数据元素一起工作,不会产生任何错误。字符聚合从来都比较少被使用,虽然这些函数不会引发任何异常。
由于这样的操作无法执行,因此,当DataFrame包含字符或字符串数据时,像abs(),cumprod()这样的函数会抛出异常。
代码举例:
import pandas as p ...
Python Pandas之Series和DataFrame 的基本属性和方法
Series基本功能
编号
属性或方法
描述
1
axes
返回行轴标签列表。
2
dtype
返回对象的数据类型(dtype)。
3
empty
如果系列为空,则返回True。
4
ndim
返回底层数据的维数,默认定义:1。
5
size
返回基础数据中的元素数。
6
values
将系列作为ndarray返回。
7
head()
返回前n行。
8
tail()
返回最后n行。
DataFrame基本功能
下面来看看数据帧(DataFrame)的基本功能有哪些?下表列出了DataFrame基本功能的重要属性或方法。
编号
属性或方法
描述
1
T
转置行和列。
2
axes
返回一个列,行轴标签和列轴标签作为唯一的成员。
3
dtypes
返回此对象中的数据类型(dtypes)。
4
empty
如果NDFrame完全为空[无项目],则返回为True; 如果任何轴的长度为0。
5
ndim
轴/数组维度大小。
6
shape
返回表示DataFrame的维度的元组。
7
size
NDFrame中的元素数。
8
values
NDFrame的Numpy表示。
9
head()
返回 ...
Python Pandas之DataFrame
数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列。 数据帧(DataFrame)的功能特点:
潜在的列是不同的类型
大小可变
标记轴(行和列)
可以对行和列执行算术运算
pandas.DataFrame
_pandas_中的DataFrame可以使用以下构造函数创建 - pandas.DataFrame( data, index, columns, dtype, copy)
Python
构造函数的参数如下 -
编号
参数
描述
1
data
数据采取各种形式,如:ndarray,series,map,lists,dict,constant和另一个DataFrame。
2
index
对于行标签,要用于结果帧的索引是可选缺省值np.arrange(n),如果没有传递索引值。
3
columns
对于列标签,可选的默认语法是 - np.arange(n)。 这只有在没有索引传递的情况下才是这样。
4
dtype
每列的数据类型。
5
copy
如果默认值为False,则此命令(或任何它)用于复制数据。
创建DataFrame
Pandas数据帧(DataF ...
Python Pandas之Series
系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组。轴标签统称为索引。
pandas.Series
_Pandas_系列可以使用以下构造函数创建 - pandas.Series( data, index, dtype, copy)。
Python
构造函数的参数如下 -
编号
参数
描述
1
data
数据采取各种形式,如:ndarray,list,constants
2
index
索引值必须是唯一的和散列的,与数据的长度相同。 默认np.arange(n)如果没有索引被传递。
3
dtype
dtype用于数据类型。如果没有,将推断数据类型
4
copy
复制数据,默认为false。
可以使用各种输入创建一个系列,如 -
数组
字典
标量值或常数
代码举例:
import pandas as pd
import numpy as np
print(pd.Series()) # 创建空的系列 默认Series([], dtype: float64)
data = np.array([‘a’, ‘b’, ‘c’, ‘d’]) ...
Python Pandas数据结构
_Pandas_处理以下三个数据结构 -
系列(Series)
数据帧(DataFrame)
面板(Panel)
这些数据结构构建在_Numpy_数组之上,这意味着它们很快。
维数和描述
考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器。 例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构
维数
描述
系列
1
1D标记均匀数组,大小不变。
数据帧
2
一般2D标记,大小可变的表结构与潜在的异质类型的列。
面板
3
一般3D标记,大小可变数组。
构建和处理两个或更多个维数组是一项繁琐的任务,用户在编写函数时要考虑数据集的方向。 但是使用_Pandas_数据结构,减少了用户的思考。 例如,使用表格数据(DataFrame),在语义上更有用于考虑索引(行)和列,而不是轴0和轴1。 可变性 所有_Pandas_数据结构是值可变的(可以更改),除了系列都是大小可变的。系列是大小不变的。
注 - DataFrame被广泛使用,是最重要的数据结构之一。面板使用少得多。
系列
系列是具有均匀数据的一维数组结构。例如,以下系列是整 ...