从两列计算并创建百分比列

2023-12-29

我有一个 df (Apple_farm)并且需要根据两列中找到的值计算百分比(Good_apples and Total_apples),然后将结果值添加到 Apple_farm 中名为“Perc_Good”的新列中。

我努力了:

Apple_farm['Perc_Good'] = (Apple_farm['Good_apples'] / Apple_farm['Total_apples']) *100

但这会导致此错误:

类型错误:/ 不支持的操作数类型:“str”和“str”

Doing

Print Apple_farm['Good_apples'] and Print Apple_farm['Total_apples']

生成一个包含数值的列表,但是将它们分开似乎会导致它们转换为字符串?

我还尝试定义一个新函数:

def percentage(amount, total):
    percent = amount/total*100
    return percent

但不确定如何使用它。

任何帮助将不胜感激,因为我对 Python 和 pandas 相当陌生!


我认为你需要转换string列至float or int,因为他们的type is string(但看起来像数字):

Apple_farm['Good_apples'] = Apple_farm['Good_apples'].astype(float)
Apple_farm['Total_apples'] = Apple_farm['Total_apples'].astype(float)

Apple_farm['Good_apples'] = Apple_farm['Good_apples'].astype(int)
Apple_farm['Total_apples'] = Apple_farm['Total_apples'].astype(int)

Sample:

import pandas as pd

Good_apples = ["10", "20", "3", "7", "9"]
Total_apples = ["20", "80", "30", "70", "90"]
d = {"Good_apples": Good_apples, "Total_apples": Total_apples}
Apple_farm = pd.DataFrame(d)
print Apple_farm 
  Good_apples Total_apples
0          10           20
1          20           80
2           3           30
3           7           70
4           9           90

print Apple_farm.dtypes
Good_apples     object
Total_apples    object
dtype: object

print Apple_farm.at[0,'Good_apples']
10

print type(Apple_farm.at[0,'Good_apples'])
<type 'str'>
Apple_farm['Good_apples'] = Apple_farm['Good_apples'].astype(int)
Apple_farm['Total_apples'] = Apple_farm['Total_apples'].astype(int)

print Apple_farm.dtypes
Good_apples     int32
Total_apples    int32
dtype: object

print Apple_farm.at[0,'Good_apples']
10

print type(Apple_farm.at[0,'Good_apples'])
<type 'numpy.int32'>
Apple_farm['Perc_Good'] = (Apple_farm['Good_apples'] / Apple_farm['Total_apples']) *100

print Apple_farm
   Good_apples  Total_apples  Perc_Good
0           10            20       50.0
1           20            80       25.0
2            3            30       10.0
3            7            70       10.0
4            9            90       10.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从两列计算并创建百分比列 的相关文章

随机推荐

  • 如何在 Django 中实现 Northwind

    我正在尝试使用 Django admin 在 MySQL 中实现 Northwind 数据库模型来显示数据 有人知道如何从原始模型中 干净 地做到这一点吗 是否有任何功能实现可供下载 模型 管理 接下来是完全未经尝试的程序 不确定你所说的
  • 实体框架 6 Code First int Identity 列值第一行为零

    首次执行 update database 命令以使用种子数据填充数据库后 发现所有 int Id 列均以零 0 开头 而不是预期的一 1 在 Configuration cs 中的 Seed 方法顶部为每个实体 表添加了以下 2 行代码 注
  • 如何使用 VBA 将“整个”DAO 记录集插入表中

    我有一个 DAO 记录集 可以很好地创建 我可以将记录从该集传输到表中 这是逐行完成的并且效果很好 但是我一次传输大量数据 因此这可能需要很长时间一行一行 有没有一种方法可以一次性传输整个记录集 而不是逐行传输 请参阅下面的当前使用的代码
  • GitKraken 不允许我在 GitLab 上打开我的私有存储库

    所以 除了GitKraken 不允许我从 GitHub 上的私人存储库进行克隆 https stackoverflow com questions 41945280 gitkraken wont let me clone from a pr
  • 如何在osx中​​创建虚拟键盘?

    我想在 osx 中创建一个虚拟键盘 是否可以 我的意思是我可以制作一个程序来提供与真实键盘相同的信号吗 这种键盘的示例是屏幕键盘或键盘查看器 顺便说一句 它是否有必要的界面 我应该从多低开始 我应该制作一个设备驱动程序吗 虚拟 无线 键盘
  • 为什么 printf() 是一个不纯函数?

    据我所知 不纯函数是那些在使用相同参数调用时并不总是返回相同值的函数 我一定遗漏了一些东西 或者可能是错误的 如果我是的话 请纠正我 那么为什么是printf 被认为是不纯函数吗 纯 函数lacks 副作用 too 换句话说 无论你调用多少
  • 如何使用 pytest 对测试失败采取行动?

    我正在使用 pytest 我想收集 保存一些数据 以便对测试失败进行事后分析 我可以写一个teardown method 但我没有看到在这种情况下获得测试状态的方法 是否可以对任何测试采取行动 或assertion 失败 实施一个pytes
  • 从超过 max_retries 失败的任务中恢复

    我尝试异步使用 Web 服务 因为它最多需要 45 秒才能返回 不幸的是 这个 Web 服务也有些不可靠 并且可能会引发错误 我已经设置了django celery并让我的任务执行 这工作正常 直到任务失败为止max retries 这是我
  • NHibernate 抛出会话已关闭

    我在风中拍打 所以我想我应该在这里问 请让我知道这是否是显而易见的并且之前已得到回答 我正在构建一个 MVC 3 网站 当我与一个用户一起运行它时 我可以单击页面来运行它 该网站运行良好 然而 如果我疯狂地点击刷新 最终我会点击 会话已关闭
  • 如何在 Amazon ElasticBeanstalk 上安装的 Java 应用程序上将 http 请求重定向到 https

    我正在使用 Amazon ElasticBeanstalk 进行 Java EE Web 应用程序部署 我希望我的应用程序只能是 https 因此我在 ElasticLoadbalancer 上配置了 SSL 证书 我也将 web xml
  • 在 GitHub 组织中的所有 Git 存储库中搜索模式

    我有一个 GitHub 组织 该组织中有大约 250 个属于不同团队的存储库 我拥有组织帐户的管理员访问权限 有没有一种方法可以在所有这些存储库中搜索模式 最好是通过 GitHub 的 Web 界面 我们计划更新一些 jar文件位置 但我们
  • boost序列化1.5.5遇到Nan和Inf时崩溃

    看来boost序列化无法从基于文本的档案中恢复Nan和inf的值 除非您处理该程序 否则该程序将终止archive exception在这种情况下 有什么解决办法吗 图书馆的作者有话要说 http lists boost org boost
  • 网站未使用 blogdown 和 Hugo 进行更新

    我知道这个问题可能会因为导致错误的代码重现性不足而被否决 但我对这个错误感到非常惊讶 我什至不知道从哪里开始足够清楚地解释它 因此我提前道歉 此问题已在两台不同的计算机上发生过两次 我使用 Hugo academic 主题在 R Studi
  • 没有 freetds.conf 的 FreeTds

    我可以在没有 freetds conf 的情况下运行 FreeTds API 吗 C C 据我记得 可以在没有旧的 interfaces 文件的情况下使用Sybase ctlib None
  • 如何在 Go 中的 POST 请求中发送 JSON 字符串

    我尝试使用 Apiary 并制作了一个通用模板来将 JSON 发送到模拟服务器并具有以下代码 package main import encoding json fmt github com jmcvetta napping log net
  • 调整 ScrollViewer.CompulatedVerticalScrollBarVisibility 更改上的列表视图列大小

    我正在使用一个星形转换器具有相对大小的列表视图列 https stackoverflow com questions 6338930 how to resize wpf listview proportionally 11421253 11
  • 如何获取程序集的根命名空间?

    给定一个实例System Reflection Assembly 当我想通过其清单资源流从当前程序集加载资源时 我多次遇到这种困境 事实上 如果使用 Visual Studio 将文件作为资源嵌入到程序集中 则其清单资源名称将从 Visua
  • 如何使用包含完全相同类型但用其他类型参数化的参数的参数列表来重载方法

    我有一个方法 public List
  • 如何在 Javascript 中添加或减少工作日?

    我需要一个 Date prototype addBusDays 函数 这将采用一个整数作为添加到日期的工作日数 但是 有两个考虑因素 1 周末 2 假期 我想这是一个要比较的预设数组 如果开始日期和结束日期包含 3 个假期 那么您将结束日期
  • 从两列计算并创建百分比列

    我有一个 df Apple farm 并且需要根据两列中找到的值计算百分比 Good apples and Total apples 然后将结果值添加到 Apple farm 中名为 Perc Good 的新列中 我努力了 Apple fa