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

Excel与pandas:使用applymap()创建复杂的计算列

标签:Python与Excel,pandas 我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。...通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。...那么,在列中对每个学生进行循环?不!记住,我们永远不应该循环遍历pandas数据框架/系列,因为如果我们有一个大的数据集,这样做效率很低。...pandas applymap()方法 pandas提供了一种将自定义函数应用于列或整个数据框架的简单方法,就是.applymap()方法,这有点类似于map()函数的作用。...图3 我们仍然可以使用map()函数来转换分数等级,但是,需要在三列中的每一列上分别使用map(),而applymap()能够覆盖整个数据框架(多列)。

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

    Python-科学计算-pandas-03-两列相乘

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 这个系列讲讲Python的科学计算版块...今天讲讲pandas模块: DataFrame不同列相乘 Part 1:示例 已知一个DataFrame,有4列["quality_1", "measure_value", "up_tol", "down_tol...,采用的算法如下图 希望生成3个新辅助计算列(前面2列上一篇文章已经介绍过) 列up_measure中每个值=列up_tol-列measure_value 列measure_down中每个值=列measure_value...Part 2:代码 import pandas as pd dict_1 = {"quality_1": ["pos_1", "pos_2", "pos_3", "pos_4", "pos_5"],...传送门 Python-科学计算-pandas-02-两列相减 Python-科学计算-pandas-01-df获取部分数据 本文为原创作品,欢迎分享

    7.2K10

    pandas基础:重命名pandas数据框架列

    标签:Python与Excel,pandas 重命名pandas数据框架列有很多原因。例如,可能希望列名更具描述性,或者可能希望缩短名称。本文将介绍如何更改数据框架中的名称。...准备用于演示的数据框架 pandas库提供了一种从网页读取数据的便捷方式,因此我们将从百度百科——世界500强公司名单——加载一个表格。 图1 看起来总共有6列。下面单独列出了这个表的列。...我们只剩下以下几列: 图5 我认为有些名字太啰嗦,所以将重命名以下名称: 最新排名->排名 总部所在国家->国家 就像pandas中的大多数内容一样,有几种方法可以重命名列。...我们可以使用这种方法重命名索引(行)或列,我们需要告诉pandas我们正在更改什么(即列或行),这样就不会产生混淆。还需要在更改前后告诉pandas列名,这提高了可读性。...例如,你的表可能有100列,而只更改其中的3列。唯一的缺点是,在名称更改之前,必须知道原始列名。 .set_axis()或df.columns,当你的表没有太多列时,因为必须为每一列指定一个新名称!

    1.9K30

    Pandas 查找,丢弃列值唯一的列

    前言 数据清洗很重要,本文演示如何使用 Python Pandas 来查找和丢弃 DataFrame 中列值唯一的列,简言之,就是某列的数值除空值外,全都是一样的,比如:全0,全1,或者全部都是一样的字符串如...:已支付,已支付,已支付… 这些列大多形同虚设,所以当数据集列很多而导致人眼难以查找时,这个方法尤为好用。...上代码前先上个坑吧,数据列中的空值 NaN 也会被 Pandas 认为是一种 “ 值 ”,如下图: 所以只要把列的缺失值先丢弃,再统计该列的唯一值的个数即可。...代码实现 数据读入 检测列值唯一的所有列并丢弃 最后总结一下,Pandas 在数据清洗方面有非常多实用的操作,很多时候我们想不到只是因为没有接触过类似的案例或者不知道怎么转换语言描述,比如 “...列值唯一 ” --> “ 除了空值以外的唯一值的个数等于1 ” ,许多坑笔者都已经踩过了,欢迎查看我的其余文章,提建议,共同进步。

    5.7K21

    Pandas基础:在Pandas数据框架中移动列

    标签:pandas,Python 有时候,我们需要在pandas数据框架内移动一列,shift()方法提供了一种方便的方法来实现。...在pandas数据框架中向上/向下移动列 要向下移动列,将periods设置为正数。要向上移动列,将其设置为负数。 注意,只有数据发生了移位,而索引保持不变。...目前,如果想使用freq参数,索引必须是datetime类型的数据,否则pandas将引发NotImplementedError。 向左或向右移动列 可以使用axis参数来控制移动的方向。...默认情况下,axis=0,这意味着移动行(向上或向下);设置axis=1将使列向左或向右移动。 在下面的示例中,将所有数据向右移动了1列。因此,第一列变为空,由np.nan自动填充。...Pandas.Series shift()方法 如前所述,Series类还有一个类似的shift()方法,其工作方式完全相同,只是它对一个系列(即单个列)而不是整个数据框架进行操作。

    3.2K20

    Pandas基础:列方向分组变形

    小小明:「凹凸数据」专栏作者,Pandas数据处理高手,致力于帮助无数数据从业者解决数据处理难题。 刚才碰到一个非常简单的需求: ? 但是我发现大部分人在做这个题的时候,代码写的异常复杂。...首先读取数据: import pandas as pd df = pd.read_excel("练习.xlsx", index_col=0) df 结果: ?...为了后续处理方便,我将不需要参与分组的第一列事先设置为索引。 groupby分组相信大部分读者都使用过,但一直都是按行分组,不过groupby不仅可以按行分组,还可以按列进行分组。...可以看到,非常简单,仅8行以内的代码已经解决这个问题,剩下的只需在保存到excel时设置一下单元格格式即可,具体设置方法可以参考:Pandas指定样式保存excel数据的N种姿势 简单讲解一下吧: df.columns.str...split.reset_index(inplace=True) 表示还原索引为普通的列。 split["年份"] = year 将年份添加到后面单独的一列。

    1.4K20

    Python-科学计算-pandas-08-列字符串操作1

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2 这个系列讲讲...Python的科学计算版块 今天讲讲pandas模块: 对列的每一个元素进行同样的字符串操作 今天讲其中的3个操作: 切片,字符串替换,字符串连接 Part 1:目标 ?...pdf文本文件的名称 这些文件的名称最终组成是: FINAL_列元素.文件类型 实现方法: 提取该列每个元素的最后一位字符 根据规则进行替换,获取文件类型 字符串连接,加上常量 FINAL_ 和 ....import pandas as pd dict_1 = {"C1": ["P1-CD", "P2-EF", "P3-BD", "P4-GF", "P5-HD", "P6-LF"],...综上,整体效果是按列整体进行字符串操作,无需遍历循环,大大减少代码量

    1.1K20

    Python-科学计算-pandas-09-df列字符串操作2

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2 这个系列讲讲...Python的科学计算版块 今天讲讲pandas模块: 对列的每一个元素进行同样的字符串操作 今天讲其中的1个操作: split Part 1:目标 已知Df某列都是字符串,每一个字符串都有一个文件与其对应...后的文件类型 组合两者 加入到原来的Df中 修改前后文件名 Part 2:代码 import pandas as pd dict_1 = {"file_name": ["P10-CD1.txt",...的每个元素实行split("-")操作,理论上生成一个列表,expand=True表示将生成列表结果分为多个列 se_1 = df_2["文件名"] + "." + df_3["文件类型"],实现两个Df...之间对应每个元素的字符串连接操作,生成一个Series对象 df_1["new_file_name"] = se_1,df_1新增一列new_file_name 本文为原创作品

    50410

    Python-科学计算-pandas-14-df按行按列进行转换

    系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2 pandas:0.19.2 这个系列讲讲...Python的科学计算及可视化 今天讲讲pandas模块 将Df按行按列进行转换 Part 1:目标 最近在网站开发过程中,需要将后端的Df数据,渲染到前端的Datatables,前端识别的数据格式有以下特征...- 数据格式为一个列表 - 列表中每一个元素为一个字典,每个字典对应前端表格的一行 - 单个字典的键为前端表格的列名,字典的值为前端表格每列取的值 简单来说就是要将一个Df转换为一个列表,该列表有特定的格式...Part 2:代码 import pandas as pd dict_1 = {"time": ["2019-11-02", "2019-11-03", "2019-11-04", "2019-11-...字典的键为列名,值为一个列表,该列表对应df的一个列 dict_fields = df_1.to_dict(orient='list') print(dict_fields) ? list对应结果 ?

    1.9K30
    领券