首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据科学 IPython 笔记本 7.6 Pandas 数据操作

Pandas 包含一些有用调整,但是:对于一元操作,如取负和三角函数,这些ufunc将保留输出索引标签,对于二元操作,如加法和乘法,将对象传递给ufunc时,Pandas 将自动对齐索引。...这意味着,保留数据上下文组合来自不同来源数据 - 这两个原始 NumPy 数组可能容易出错任务 - 对于 Pandas 来说基本上是万无一失。...2 9.0 3 5.0 dtype: float64 ''' 数据索引对齐 DataFrames上执行操作时,索引都会发生类似的对齐: A = pd.DataFrame(rng.randint...,无论它们两个对象顺序如何,并且结果索引都是有序。...执行DataFrame和Series之间操作时,与之相似,索引是保持对齐

2.7K10

Pandas Cookbook》第06章 索引对齐1. 检查索引2. 求笛卡尔积3. 索引爆炸4. 用不等索引填充数值5. 从不同DataFrame追加6. 高亮每最大7. 用链式方法重现

# 再从baseball_15选取一些,有相同、也有不同 In[45]: df_15 = baseball_15[['AB', 'R', 'H', 'HR']] df_15....# 即便使用了fill_value=0,有些也会是缺失,这是因为一些行和组合根本不存在输入数据 In[47]: df_14.add(df_15, fill_value=0).head(10...从不同DataFrame追加 # 读取employee数据,选取'DEPARTMENT', 'BASE_SALARY'这两 In[48]: employee = pd.read_csv('data...# random_salary是有重复索引,employee DataFrame标签要对应random_salary多个标签 In[57]: employee['RANDOM_SALARY'...,用eq方法比较DataFrame每个和该最大 In[78]: college_n.eq(college_n.max()).head() Out[78]: ?

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

python数据科学系列:pandas入门详细教程

loc和iloc应该理解为是series和dataframe属性而非函数,应用loc和iloc进行数据访问就是根据属性访问过程 另外,pandas早些版本,还存在loc和iloc兼容结构,即...检测各行是否重复,返回一个行索引bool结果,可通过keep参数设置保留第一行/最后一行/无保留,例如keep=first意味着存在重复多行时,首行被认为是合法而可以保留 删除重复,drop_duplicates...,按行检测删除重复记录,也可通过keep参数设置保留项。...对象,功能与python普通map函数类似,即对给定序列每个执行相同映射操作,不同是seriesmap接口映射方式既可以是一个函数,也可以是一个字典 ?...;sort_values是按排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是,同时根据by参数传入指定行或者,可传入多行或多分别设置升序降序参数,非常灵活。

13.8K20

Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记

keep:删除重复项保留第一次出现项取值可以为 first、last或 False  ​ duplicated()方法用于标记 Pandas对象数据是否重复,重复则标记为True,不重复则标记为False...inner:使用两个 DataFrame交集,类似SQL内连接  ​ 使用 merge()函数进行合并时,默认会使用重叠索引做为合并键,采用内连接方式合并数据,即取行索引重叠部分。  ​...数据重塑  3.1 重塑层次化索引  ​ Pandas重塑层次化索引操作主要是 stack()方法和 unstack()方法,前者是将数据“旋转”为行,后者是将数据行“旋转”为。 ...3.2 轴向旋转  ​ Pandaspivot()方法提供了这样功能,它会根据给定行或索引重新组织一个 DataFrame对象。 ...columns:用于创建新 DataFrame对象索引 values:用于填充DataFrame对象。  4.

5.1K00

Pandas 学习手册中文第二版:1~5

这些是数据包含新Series对象,具有从原始Series对象复制。 可以使用带有列名或列名列表数组索引器[]访问DataFrame对象。...选择数据 使用[]运算符选择DataFrame特定数据。 这与Series不同Series,[]指定了行。 可以将[]操作符传递给单个对象或代表要检索对象列表。...这些行为差异略有不同: del将从DataFrame删除Series(原地) pop()将同时删除Series返回Series(也是原地) drop(labels, axis=1)将返回一个已删除新数据...结果数据将由两个集组成,缺少数据填充有NaN。 以下内容通过使用与df1相同索引创建第三个数据,但只有一个名称不在df1来说明这一点。...-2e/img/00215.jpeg)] 如果所有DataFrame对象集都不相同,则 Pandas 将用NaN填充这些

8.1K10

数据导入与预处理-第5章-数据清理

需要说明是,分析演变规律、样本不均衡处理、业务规则等场景,重复具有一定使用价值,需做保留。...缺失常见处理方式有三种:删除缺失填充缺失和插补缺失pandas为每种处理方式均提供了相应方法。...2.1.2 删除缺失 pandas中提供了删除缺失方法dropna(),dropna()方法用于删除缺失所在一行或一数据,返回一个删除缺失新对象。...| 平均数填充到指定 # 计算A平均数,保留一位小数 col_a = np.around(np.mean(na_df['A']), 1) # 计算D平均数,保留一位小数 col_d =...DataFrame.duplicated(subset=None, keep='first') subset:表示识别重复项索引索引序列,默认标识所有的索引

4.4K20

Pandas 学习手册中文第二版:6~10

六、索引数据 索引是用于优化查询序列或数据工具。 它们很像关系数据库键,但是功能更强大。 它们为多组数据提供了对齐方式,还带有如何处理数据各种任务(如重采样到不同频率)语义。...这可能有点违反直觉,但是逐行基础上应用不同时,它是非常强大。...-2e/img/00320.jpeg)] 由算术运算得到一组将是序列索引DataFrame对象索引标签集(根据对齐规则)。...如果要将数据放入实际DataFrame,请使用inplace=True参数。 在数学运算处理 NaN NaN Pandas 处理方式与 NumPy 处理方式不同。...请注意,删除重复项时会保留索引。 重复记录可能具有不同索引标签(计算重复项时不考虑标签)。 因此,保留行会影响结果DataFrame对象标签集。 默认操作是保留重复项第一行。

2.2K20

Pandas 数据分析技巧与诀窍

它是一个轻量级、纯python库,用于生成随机有用条目(例如姓名、地址、信用卡号码、日期、时间、公司名称、职位名称、车牌号码等),并将它们保存在pandas dataframe对象、数据库文件...2 数据操作 本节,我将展示一些关于Pandas数据常见问题提示。 注意:有些方法不直接修改数据,而是返回所需数据。...不知道索引情况下检索数据: 通常使用大量数据,几乎不可能知道每一行索引。这个方法可以帮你完成任务。因此,因此,“数据”数据框,我们正在搜索user_id等于1一行索引。...填充列缺少: 与大多数数据集一样,必须期望大量,这有时会令人恼火。...当然,如果愿意的话,您可以让它们保持原样,但是如果您想添加值来代替空,您必须首先声明哪些将被放入哪些属性(对于其空)。 所以这里我们有两,分别称为“标签”和“难度”。

11.5K40

Pandas知识点-添加操作append

Pandas,append()方法用于将一个或多个DataFrame或Series添加到DataFrame。append()方法也可以用于合并操作,本文介绍append()方法用法。...如果调用append()DataFrame和传入append()DataFrame中有不同,则添加后会在不存在填充,这样即使两个DataFrame不同也不影响添加操作。...即使指定nameDataFrame索引重复,也可以添加成功(verify_integrity不为True)。...合并时根据指定连接(或行索引)和连接方式来匹配两个DataFrame行。可以结果设置相同列名后缀和显示连接是否两个DataFrame中都存在。...联合操作是将一个DataFrame部分数据用另一个DataFrame数据替换或补充,通过一个函数来定义联合时取数据规则。联合过程还可以对空进行填充

4.6K30

数据导入与预处理-第6章-01数据集成

例如,重量属性一个系统采用公制,而在另一个系统却采用英制;价格属性不同地点采用不同货币单位。这些语义差异为数据集成带来许多问题。...观察上图可知,result是一个3行5表格数据,且保留了key交集部分数据。...观察上图可知,result是一个4行5表格数据,且保留了key集部分数据,由于A、B两只有3行数据,C、D两列有4行数据,合并后A、B两没有数据位置填充为NaN。...没有A、B两个索引,所以这两相应位置上填充了NaN。...重叠合并数据是一种并不常见操作,它主要将一组数据填充为另一组数据对应位置pandas可使用combine_first()方法实现重叠合并数据操作。

2.5K20

超全pandas数据分析常用函数总结:上篇

基础知识在数据分析中就像是九阳神功,熟练掌握,加以运用,就可以练就深厚内力,成为绝顶高手自然不在话下! 为了更好地学习数据分析,我对于数据分析pandas这一模块里面常用函数进行了总结。...# 某一数据类型 data.ndim # 数据维度 data.index # 行索引 data.columns # 索引 data.values...() # 数据集相关信息概览:索引情况、数据类型、非空、内存使用情况 data.describe() # 快速综合统计结果 4....# 默认删除后面出现重复,即保留第一次出现重复 输出结果: ?...data['origin'].drop_duplicates(keep='last') # 删除前面出现重复,即保留最后一次出现重复 输出结果: ?

3.5K31

最全面的Pandas教程!没有之一!

注意,不像 .reset_index() 会保留一个备份,然后才用默认索引代替原索引,.set_index() 将会完全覆盖原来索引。...清洗数据 删除或填充 许多情况下,如果你用 Pandas 来读取大量数据,往往会发现原始数据中会存在不完整地方。... DataFrame 缺少数据位置, Pandas 会自动填入一个空,比如 NaN或 Null 。...于是我们可以选择只对某些特定行或者进行填充。比如只对 'A' 进行操作,处填入该平均值: ? 如上所示,'A' 平均值是 2.0,所以第二行被填上了 2.0。...同样,inner 代表交集,Outer 代表集。 数值处理 查找不重复 不重复一个 DataFrame 里往往是独一无二,与众不同。找到不重复,在数据分析中有助于避免样本偏差。

25.8K64

针对SAS用户:Python数据分析库pandas

换句话说,DataFrame看起来很像SAS数据集(或关系表)。下表比较SAS中发现pandas组件。 ? 第6章,理解索引详细地介绍DataFrame和Series索引。...SAS例子,我们使用Data Step ARRAYs 类同于 Series。 以创建一个含随机Series 开始: ? 注意:索引从0开始。...缺失识别 回到DataFrame,我们需要分析所有缺失Pandas提供四种检测和替换缺失方法。...解决缺失数据分析典型SAS编程方法是,编写一个程序使用计数器变量遍历所有使用IF/THEN测试缺失。 这可以沿着下面的输出单元格示例行。....dropna()方法也适用于轴。axis = 1和axis = "columns"是等价。 ? ? 显然,这会丢弃大量“好”数据。thresh参数允许您指定要为行或保留最小非空

12.1K20

猿创征文|数据导入与预处理-第3章-pandas基础

若未指定数据类型,pandas会根据传入数据自动推断数据类型。 使用pandasSeries数据结构时,可通过pandas点Series调用。...,如出现新为NaN # index在这里和之前不同,并不能改变原有index,如果指向新标签,为NaN (非常重要!)...pandas中使用reindex()方法实现重新索引功能,该方法会参照原有的Series类对象或DataFrame类对象索引设置数据:若该索引存在于新对象,则其对应数据设为原数据,否则填充为缺失...使用[]访问数据 变量[索引] 需要说明是,若变量是一个Series类对象,则会根据索引获取该对象对应单个数据;若变量是一个DataFrame类对象,使用“[索引]”访问数据时会将索引视为索引...与单层索引相比,分层索引只适用于[]、loc和iloc,且用法大致相同。 使用[]访问数据 由于分层索引索引层数比单层索引多,使用[]方式访问数据时,需要根据不同需求传入不同层级索引

13.9K20

数据科学 IPython 笔记本 7.1 Pandas

Data Analysis) 序列(Series) 数据DataFrame) 重索引 删除条目 索引,选择和过滤 算术和数据对齐 函数应用和映射 排序和排名 带有重复索引 汇总和计算描述性统计量...isnull() ''' foo False bar False baz False qux True dtype: bool ''' 算术运算,Series自动对齐不同索引数据...每可以是不同类型。 DataFrame同时具有行索引索引,类似于Series字典。行和操作大致是对称实现索引DataFrame时返回是底层数据视图,而不是副本。...将DataFrame包含数据作为 2D ndarray返回: df_5.values ''' array([[ nan, 5.2], [ 4.1, nan]]) ''' 如果不同...,则将DataFrame对象相加,会产生行和索引集,使不重叠索引为 NaN: np.random.seed(0) df_8 = DataFrame(np.random.rand(9).reshape

5.1K20

Pandas知识点-连接操作concat

在这两个例子,按行连接时,两个DataFrame索引相同,按连接时,两个DataFrame索引相同,所以结果看起来很直观。 3. 被连接数据索引不同 ? 连接原理如下。 ?...这个例子,两个DataFrame索引索引都不相等,将它们按行连接时,先将两个DataFrame行拼接起来,然后每行没有数据填充。按连接同理。...第二步,检索数据索引,如果索引相等,则结果兼容显示同一(例1),如果索引不相等,则分别显示,无数据位置填充(例3)。 三连接时取交集 ---- ?...如果取是交集,修改行索引过程为:先按取交集方式连接,然后结果增加比修改索引行,增加回填充。 五重设结果索引 ---- ?...对不是多重行索引数据,levels参数不支持,会报错。 当然,添加进去结果不会显示,因为没有对应数据,这个功能基本上也不会使用。 ?

1.9K50

Pandas知识点-合并操作combine

combine是联合意思,Pandas,combine()方法也是一种实现合并方法,本文介绍combine()方法用法。...combine_first()方法根据DataFrame索引索引,对比两个DataFrame相同位置数据,优先取非空数据进行合并。...和df2数据都为空,则结果保留df1(空有三种: np.nan、None 和 pd.NaT)。...fill_value: 先用fill_value填充DataFrame,再按传入函数进行合并操作。 fill_value会填充DataFrame中所有,而且是合并之前先填充。...overwrite: 如果调用combine()方法DataFrame存在传入combine()方法DataFrame不存在,则先在传入DataFrame添加一

1.9K10
领券