凭借其广泛的功能,Pandas 对于数据清理、预处理、整理和探索性数据分析等活动具有很大的价值。 Pandas的核心数据结构是Series和DataFrame。...在这篇文章中,我将介绍Pandas的所有重要功能,并清晰简洁地解释它们的用法。...df.loc[row_labels, column_labels] # 通过整数索引选择特定的行和列 df.iloc[row_indices, column_indices] # 根据条件选择数据框中的行和列...中,你可以使用各种函数基于公共列或索引来连接或组合多个DataFrame。...# 计算某列的最大值 df['column_name'].max() # 计算某列中非空值的数量 df['column_name'].count() # 计算列中某个值的出现次数 df['column_name
快速查看数据类型和形状的方法是— pandas.DataFrame.info。这将告诉您数据框具有多少行和列以及它们包含哪些数据类型和值。...您的数据可能具有数千个样本,甚至更多。无法直接分析所有数值数据。如果需要可视化,可以使用Matplotlib和Seaborn这样强大的可视化程序包。...数据清洗 现实生活中的数据不能很好地安排在没有异常的数据框中并呈现给您。数据通常具有很多所谓的异常,例如缺失值,许多格式不正确的特征,不同比例的特征等。...您可能需要使用pandas.DataFrame.replace函数以整个数据框的标准格式获取它,或使用pandas.DataFrame.drop删除不相关的特征。...有2种类型常见的合奏-套袋(Bootstrap-Aggregating)和Boosting。例如,“随机森林”是一种Bagging集成体,它组合了多个决策树并获取输出的总和。
,由于 NumPy 数组存储的数据类型需要一致,则值数组的dtype就会选用能兼容所有列的数据类型: import pandas as pd data = {'state': ['Ohio', 'Ohio...对于时间序列这样的有序数据,重新索引时可能需要做一些插值处理。...,你可能希望当一个对象中某个轴标签在另一个对象中找不到时填充一个特殊值(比如0): import pandas as pd df1 = pd.DataFrame(np.arange(12.).reshape...时,你可能希望根据一个或多个列中的值进行排序。...无论如何,在计算相关系数之前,所有的数据项都会按标签对齐。 ---- 3.2 唯一值、值计数以及成员资格 还有一类方法可以从一维Series的值中抽取信息。
2.2 筛选特定的行 在输入文件筛选出特定行的三种方法: 行中的值满足某个条件 行中的值属于某个集合 行中的值匹配正则表达式 从输入文件中筛选出特定行的通用代码结构: for row in filereader...基本过程就是将每个输入文件读取到pandas数据框中,将所有数据框追加到一个数据框列表,然后使用concat 函数将所有数据框连接成一个数据框。...如果你需要平行连接数据,那么就在concat 函数中设置axis=1。除了数据框,pandas 中还有一个数据容器,称为序列。你可以使用同样的语法去连接序列,只是要将连接的对象由数据框改为序列。...2.8 计算每个文件中值的总和与均值 pandas 提供了可以用来计算行和列统计量的摘要统计函数,比如sum 和mean。...因为输出文件中的每行应该包含输入文件名,以及文件中销售额的总计和均值,所以可以将这3 种数据组合成一个文本框,使用concat 函数将这些数据框连接成为一个数据框,然后将这个数据框写入输出文件。
对于表示数值(如整数和浮点数)的块,Pandas 将这些列组合在一起,并存储为 NumPy ndarry 数组。...类型名称的数字部分代表了用于表示值类型的位数。例如,我们刚刚列出的子类型就分别使用了 2、4、8、16 个字节。...请注意,这一列可能代表我们最好的情况之一:一个具有 172,000 个项目的列,只有 7 个唯一的值。 将所有的列都进行同样的操作,这听起来很吸引人,但使我们要注意权衡。...然而,正如我们前面提到那样,我们经常没有足够的内存来表示数据集中所有的值。如果一开始就不能创建数据框,那么我们该怎样使用内存节省技术呢? 幸运的是,当我们读取数据集时,我们可以制定列的最优类型。...pandas.read_csv() 函数有几个不同的参数可以让我们做到这一点。dtype 参数可以是一个以(字符串)列名称作为 keys、以 NumPy 类型对象作为值的字典。
此外,如果预测结果中多存在多框,那么对于某个预测框,与其IoU最大的标注框为对应框,在进一步比较预测类别是否正确。 2....,在全面的评估模型效果时,还有一些常用的进阶指标,在本节一一列出。...以猫狗分类为例,对于每一个样本都有一个置信度阈值(confidence-threshold),在该阈值的上下,TP和FP可能有不同表现,导致precision和recall的变化。...猫、狗、虎 三分类为例,对于某个类别猫,pr曲线的正负样本自然就变成了猫和非猫(狗+虎),这一显然的变化带来一个稍显复杂的问题: 多分类问题中,某个样本会输出所有类别的预测概率,但是猫和非猫的概率总和不像二分类问题一样总和为...以 [Cat,Cat]=15 为例,这一格表示,在给定的置信度阈值下,有15个标注结果为猫的框被正确分类; [Cat,Pig]=1 则表示,有一个标注结果为猫的框被错误预测为猪;而 [Cat,Unkonwn
: 使用列索引值 使用列标题 使用列索引值 用pandas设置数据框,在方括号中列出要保留的列的索引值或名称(字符串)。...基于列标题选取Customer ID和Purchase Date列的两种方法: 在数据框名称后面的方括号中将列名以字符串方式列出。...pandas将所有工作表读入数据框字典,字典中的键就是工作表的名称,值就是包含工作表中数据的数据框。所以,通过在字典的键和值之间迭代,可以使用工作簿中所有的数据。...当在每个数据框中筛选特定行时,结果是一个新的筛选过的数据框,所以可以创建一个列表保存这些筛选过的数据框,然后将它们连接成一个最终数据框。 在所有工作表中筛选出销售额大于$2000.00的所有行。...如果要基于某个关键字列连接数据框,pandas的merge函数提供类似SQL join的操作。
-应用-合的操作,达到整合和改变数据形状的目的。...分和合按照字面理解就可,但是“治”又是怎么理解,进一步将治分为3件事: 聚合操作,比如统计每组的个数,总和,平均值 转换操作,对每个组进行标准化,依据其他组队个别组的NaN值填充 过滤操作,忽略一些组...合地话就是映射为具体的某个数据结构。...([ 'A', 'B'] ) 05 选择分组 分组后返回的对象类型为:DataFrameGroupBy,我们看下按照列标签'A'分组后,因为'A'的可能取值为:foo, bar ,所以分为了两组,通过DataFrameGroupBy...如果根据两个字段的组合进行分组,如下所示,为对应分组的总和, abgroup = df.groupby(['A','B']) abgroup.aggregate(np.sum) ?
作为每个数据科学家都非常熟悉和使用的最受欢迎和使用的工具之一,Pandas库在数据操作、分析和可视化方面非常出色 为了帮助你完成这项任务并对Python编码更加自信,我用Pandas上一些最常用的函数和方法创建了本教程...目录 导入库 导入/导出数据 显示数据 基本信息:快速查看数据 基本统计 调整数据 布尔索引:loc 布尔索引:iloc 基本处理数据 我们将研究“泰坦尼克号”的数据集,主要有两个原因:(1)很可能你已经对它很熟悉了...data.Embarked.unique() array(['S', 'C', 'Q', nan], dtype=object) 计算某个特征的唯一值的总和。...a) 列出列的名称。...创建新的数据帧,复制数据,以保持原始数据的完整性。
所以,这里有一些小提示和小技巧,有些可能是新的,但我相信在下一个数据分析项目中会让你非常方便。...Pandas中数据框数据的Profiling过程 Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行探索性数据分析...、缺失值等。...所有可用的Magic命令列表 Magic命令有两种:行magic命令(line magics),以单个%字符为前缀,在单行输入操作;单元magic命令(cell magics),以双%%字符为前缀,可以在多行输入操作...因此,我们可以检查变量的值和程序中定义的函数的正确性。
大数据文摘出品 来源:towardsdatascience 编译:小七、蒋宝尚 一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。...Pandas中数据框数据的Profiling过程 Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行探索性数据分析...由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息——类型、单一变量值、缺失值等。...所有可用的Magic命令列表 Magic命令有两种:行magic命令(line magics),以单个%字符为前缀,在单行输入操作;单元magic命令(cell magics),以双%%字符为前缀,可以在多行输入操作...因此,我们可以检查变量的值和程序中定义的函数的正确性。 ?
宠粉号主闪现赶到,来看看pandas系列第二篇吧: 数据清理 & 整理 取得想要关注的数据 数据清理&整理 这节列出一些十分常用的数据清理与整理技巧,如处理空值(null value)以及分割列。...基本数据切割 在pandas 里头,切割(Slice)DataFrame 里头一部份数据出来做分析是非常平常的事情。让我们再次以Titanic数据集为例: ?...你可以通过loc以及:的方式轻松选取从某个起始栏位C1到结束栏位C2的所有栏位,而无需将中间的栏位一一列出: ?...选取某栏位为top-k值的样本 很多时候你会想选取在某个栏位中前k大的所有样本,这时你可以先利用value_counts函数找出该栏位前k多的值: ?...这边我们以栏位Ticket为例,另外你也可以使用pandas.Series里的nlargest函数取得相同结果: ?
来源:towardsdatascience 编译:小七、蒋宝尚@大数据文摘 一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。...Pandas中数据框数据的Profiling过程 Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行探索性数据分析...由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息——类型、单一变量值、缺失值等。...所有可用的Magic命令列表 Magic命令有两种:行magic命令(line magics),以单个%字符为前缀,在单行输入操作;单元magic命令(cell magics),以双%%字符为前缀,可以在多行输入操作...因此,我们可以检查变量的值和程序中定义的函数的正确性。 ?
所以,这里有一些小提示和小技巧,有些可能是新的,但我相信在下一个数据分析项目中会让你非常方便。...Pandas中数据框数据的Profiling过程 Profiling(分析器)是一个帮助我们理解数据的过程,而Pandas Profiling是一个Python包,它可以简单快速地对Pandas 的数据框数据进行探索性数据分析...由Pandas Profiling包计算出的统计信息包括直方图、众数、相关系数、分位数、描述统计量、其他信息——类型、单一变量值、缺失值等。...所有可用的Magic命令列表 Magic命令有两种:行magic命令(line magics),以单个%字符为前缀,在单行输入操作;单元magic命令(cell magics),以双%%字符为前缀,可以在多行输入操作...因此,我们可以检查变量的值和程序中定义的函数的正确性。 ?
判断缺失值 # 查看哪些值缺失 nan_all = df.isnull() # 获得所有数据框中的N值 print(nan_all) # 打印输出 # 查看哪些列缺失 nan_col1...# 打印输出 print(nan_col2) # 打印输出 通过 df.null() 方法找到所有数据框中的缺失值(默认缺失值是 NaN 格式),然后使用 any() 或 all...然后使用预处理对象的 fit_transform 方法对 df(数据框对象)进行处理,该方法是将 fit 和 transform 组合起来使用。...本示例的 df (原始数据框)可直接使用 df.replace(np.nan,0),这种用法更加简单粗暴,但也能达到效果。...在使用不同的缺失值策略时,需要注意以下几个问题: 缺失值的处理的前提是已经可以正确识别所有缺失值字段,关于识别的问题在使用Pandas读取数据时可通过设置 na_values 的值指定。
② 计算ndarray对象中所有值的总和;速度约快 6 倍。 ③ NumPy方法也节省了一些内存,因为ndarray对象的内存开销与数据本身的大小相比微不足道。...pandas相当容错,以捕获错误并在相应的数学运算失败时仅放置NaN值。不仅如此,正如之前简要展示的那样,您还可以在许多情况下像处理完整数据集一样处理这些不完整数据集。...后续部分将使用这个工具集来处理真实世界的金融数据。 复杂选择 数据选择通常通过在列值上制定条件来完成,并可能逻辑地组合多个这样的条件。考虑以下数据集。...② 选择所有这样的值,并在所有其他位置放置 NaN。 连接、合并和拼接 本节介绍了在形式上为 DataFrame 对象的两个简单数据集组合的不同方法。...② 外部合并也是可能的,保留所有数据行。
在这篇文章中,您将发现Pandas的一些快速别致的方法,以改善您对数据在其结构、分布和关系等方面的理解。 数据分析 数据分析其实是关于询问和回答有关您的数据的问题。...您需要激发关于您可以追踪的数据的问题,并且,去更好地了解您拥有的数据。您可以通过对数据进行汇总和可视化来做到这一点。...描述数据 我们现在可以看看数据的结构。 我们可以通过直接打印数据框来查看前60行数据。 print(data) 我们可以看到,所有的数据都是数值型的,而最终的类别值是我们想要预测的因变量。...如平均怀孕次数为3.8次、最小年龄为21岁,以及有些人的体重指数为0,这种不可能的数据是某些属性值应该标记为缺失值的标志。 点击链接,详细了解数据框的描述统计功能。...可视化数据 图表更能说明属性值的分布和其间的关系。 不过,重要的是要先花时间了解数据的统计信息。每次以不同的方式查看数据时,您都有可能使自己注意到不同方面的信息,并可能会对问题产生不同的见解。
所以,我在这里介绍下自己编程时最喜欢使用的一些提示和技巧,在这篇文章中汇总起来呈现给大家。有些可能是大家熟悉的,而有些可能是新鲜的,我相信它们会为你下一次处理数据分析的项目时提供便利。 1....预览Pandas中的数据框数据(Dataframe) 分析预览(profiling)是一个帮助我们理解数据的过程,在Python中Pandas Profiling 是可以完成这个任务的一个工具包,它可以简单快速地对...Pandas 数据框进行搜索性数据分析。...上图列举了所有可用的Magic 函数 Magic命令有两大类:行magic命令(line magics),以单个% 字符为前缀,单行输入操作;单元magics命令(cell magics),以双%%...如果你想要恢复所删除执行单元的所有内容,可以点击ESC+Z 或者 EDIT > Undo Delete Cells 总结 在上文中,我列出了在自己在使用Python和Jupyter Notebook时所收集的重要技巧
对于数据中缺失的时刻,将添加新行并用NaN填充,或者使用我们指定的方法填充。通常需要提供偏移别名以获得所需的时间频率。...我们经常需要降低(下采样)或增加(上采样)时间序列数据的频率。如果我们有每日或每月的销售数据,将其降采样为季度数据可能是有用的。或者,我们可能希望上采样我们的数据以匹配另一个用于进行预测的系列的频率。...允许我们将数据拆分为聚合的窗口,并应用诸如均值或总和之类的函数。...并不是所有的时间序列必须呈现趋势或模式,它们也可能完全是随机的。 除了高频变动(如季节性和噪声)外,时间序列数据通常还会呈现渐变的变异性。通过在不同时间尺度上进行滚动平均可以很容易地可视化这些趋势。...如果时间序列有单位根,则表示存在一些时间相关结构,即时间序列不是平稳的。 统计量越负值,时间序列越有可能是平稳的。一般来说,如果 p 值 > 0.05,则数据有单位根,不是平稳的。
对于单行-if,我们从测试条件为真时要输出的值开始。 此代码将单行(如果具有列表理解)组合以输出1(其中植物是兰花),否则输出0。...#8 —将lambda应用于DataFrame列 pandas DataFrame是一种可以保存表格数据的结构,例如Excel for Python。...lambda 是关键字,提供了对表中的值执行操作的快捷方式。...初始化温室清单,创建植物数据框并使用np.where()函数时,我们已经看到了这一点。...将每个值除以所有行的总和,然后将该输出分配给名为“ perc”的新列: piv['perc'] = piv['price'].div(piv['price'].sum(axis=0)) ?
领取专属 10元无门槛券
手把手带您无忧上云