我对编程非常陌生(在python中),我想创建一个新变量,该变量是列的对数(来自导入的excel文件)。 我尝试过从该站点尝试不同的解决方案,但始终出现错误。 我最新的错误是AttributeError: 'str' object has no attribute 'log'.

我已经删除了所有不是"数字"的值,但是我仍然不知道如何将值从字符串转换为整数(如果是这种情况,因为" int(neighborhood)"不起作用)。

这是我现在拥有的代码:

import pandas as pd

import numpy as np

df=pd.read_excel("kwb-2016_del_col_del_row.xls")

df = df[df.m_woz !="."] # drop rows with values"."

neighborhood=df[df.recs=="Neighborhood"]

neighborhood=neighborhood["m_woz"]

print(neighborhood)

np.log(neighborhood)

这是我得到的错误:

AttributeError                            Traceback (most recent call last)

in ()

12 print(neighborhood)

13

---> 14 np.log(neighborhood)

AttributeError: 'str' object has no attribute 'log'

有人可以帮我吗?

但是解决该问题的方法是在注释y=np.log(buurt["g_woz"])中的下面两行。

感谢您的快速回复!该行也会产生错误(键错误)。如果我从该行中删除密钥,则会收到与上述相同的错误

然后,该列的名称不是g_woz。请不要仅仅丢弃那些出错的部分,这通常不是调试代码的好方法。

我不知道该怎么办,因为我很确定那是列的名称

@WillemVanOnsem我无法复制整个错误,但这是错误的开始:TypeError:必需为整数在上述异常的处理过程中,发生了另一个异常:KeyError Traceback(最近一次调用最近)

请重置您的内核,似乎您在此过程中已将np分配给其他内容。

buurt和neighborhood之间是什么关系?同样,在索引时使用.loc是一个好主意。

对不起,我已将此网站的英语更改为英语,但是很遗憾,我忘记在错误中进行更改。抱歉在错误中buurt = neighborhood

@Kate看来您已经掩饰了我的评论。您是否重新启动了内核?

@Kate:请编辑您的问题。

@c ??? s ????是的,我做到了。两次,但仍然是相同的错误

@WillemVanOnsem我应该怎么编辑?

@Kate这样做... del np; import numpy as np

Aaaaand,有效吗?

@c ??? s ????这样做了,我仍然遇到相同的错误

也许您不是要删除自己认为的数据?

尝试打印数据类型以查看它们是什么。

在DataFrame中,您的列可能用对象而不是数字填充。

print(df.dtypes)

另外,您可能想看看这两页

根据对象的类型(即str)从DataFrame中选择行

熊猫:将dtype对象转换为int

这是我构建并交互运行的示例,可以正确获取对数(不要键入>>>):

>>> raw_data = {'m_woz': ['abc', 'def', 1.23, 45.6, '.xyz'],

'recs': ['Neighborhood', 'Neighborhood',

'unknown', 'Neighborhood', 'whatever']}

>>> df = pd.DataFrame(raw_data, columns = ['m_woz', 'recs'])

>>> print(df.dtypes)

m_woz    object

recs     object

dtype: object

请注意,类型是对象,而不是float或int或str

继续,这是df和neighborhood的样子:

>>> df

m_woz          recs

0    42  Neighborhood

1   def  Neighborhood

2  1.23       unknown

3  45.6  Neighborhood

4  .xyz      whatever

>>> neighborhood=df[df.recs=="Neighborhood"]

>>> neighborhood

m_woz          recs

0    42  Neighborhood

1   def  Neighborhood

3  45.6  Neighborhood

这是窍门...

此行选择neighborhood中int或float的所有行(如果复制/粘贴此行,请小心修复缩进

>>> df_num_strings = neighborhood[neighborhood['m_woz'].

apply(lambda x: type(x) in (int, float))]

>>> df_num_strings

m_woz          recs

0    42  Neighborhood

3  45.6  Neighborhood

快到了...将数字从字符串转换为浮点数

>>> df_float = df_num_strings['m_woz'].astype(str).astype(float)

>>> df_float

0    42.0

3    45.6

最后,计算对数:

>>> np.log(df_float)

0    3.737670

3    3.819908

Name: m_woz, dtype: float64

这工作了! 除了apply函数的一部分之外,因为所有值都不被视为浮点数或整数,但是astype函数起作用。 我不知道为什么,但是我以前曾经尝试过那个,然后就没用了。 也许我尝试后更改了代码。 非常感谢您对@ coldspeed,WillemVanOnsem和akubot的努力!

@Kate好消息,如果您不介意,请将答案标记为正确

python数组取对数_关于python:取列的对数相关推荐

  1. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  2. python数组的乘法_在Python中乘法非常大的2D数组

    我必须在Python中将非常大的2D数组乘以大约100次.每个矩阵由32000×32000元素组成. 我正在使用np.dot(X,Y),但是每次乘法都需要很长时间-在我的代码实例下面: import ...

  3. python数组相减_对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...

  4. python 数组字典定义_使用python数组字典

    编辑:对不起,我意识到我没有给出完整的问题,这个编辑应该包含完整的问题.我认为我之前的问题与完整的问题非常相似,我可以用这种方式得到答案,而不必添加太多额外的细节,但我错了.在 我在python中有一 ...

  5. python 人数取整_避免PYTHON取整四舍六入五成双问题

    python中关于round函数的小坑 - _小苹果 - 博客园​www.cnblogs.com 同样的坑:整数a/100 不等于a×0.01 在python2.7的doc中,round()的最后写着 ...

  6. python beautifulsoup抓取网页内容_利用Python和Beautiful Soup抓取网页内容

    利用Python和Beautiful Soup抓取网页内容 Posted on 2012-08-09 00:08 SamWei 阅读(381) 评论(1) 编辑 收藏 Python 3中提供了url打 ...

  7. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  8. python足球大数据分析_使用Python抓取欧洲足球联赛数据进行大数据分析

    背景 Web Scraping 在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤 数据的采集和获取 数据的清洗,抽取,变形和装载 数据的分析,探索和预测 数据的展现 其中 ...

  9. python爬取晋江_爬虫爬取晋江文学网总分榜(失败)

    一.目的 : 爬取晋江文学网总分榜 二.python爬取数据 三.爬取 在开始多出现了38号而且顺序内容不准确 代码: import requests from bs4 import Beautifu ...

最新文章

  1. 原创数据结构算法Flash动画演示课件-Action Script(AS)脚本实现
  2. XSS攻击之窃取Cookie
  3. GPU 编程入门到精通(五)之 GPU 程序优化进阶
  4. 使用timer定时器,防止事件重入
  5. 回归树与基于规则的模型(part2)--简单回归树
  6. HDU-5935 Car 逆推 贪心 精度
  7. nacos 持久化 mysql(windows/linux环境)
  8. IDEA如何添加本地项目到git上
  9. minus出错matlab,请求帮忙指点MATLAB中的语法错误
  10. java dll 调用方法_关于Java调用dll的方法 | 学步园
  11. Apache配置问题
  12. 那些年,备胎一起追的女神
  13. android TTS语音播报
  14. ce修改魔兽争霸服务器存档,魔兽争霸3用CE修改找金钱基址
  15. 腾讯bugly升级注意事项
  16. LeetCode 1101. The Earliest Moment When Everyone Become Friends
  17. android机器人酷炫壁纸,机器人秀app下载
  18. 两种方法用宏定义写出swap(x,y)
  19. Windows下PostgreSQL 8.1版安装图解
  20. MySQL 员工信息查询

热门文章

  1. tomcat启动失败的原因、JAVA_HOME配置失败的几种原因、另一种启动tomcat服务器的方式catalina run
  2. Nodejs Native AddOn的编写
  3. 搭建高性能计算环境(十)、应用软件的安装之Wien2k
  4. 云扩入驻腾讯千帆计划,携手加速企业数字化转型
  5. class类python_Python 类class简介
  6. 理科生浪漫java表白代码_理科生也玩浪漫,看看理科生的表白情话
  7. css样式标签或者文本居中方式,高度100%居中,水平垂直居中
  8. 176. Second Highest Salary(必看)
  9. 计算机仿真后的数据怎么分析,仿真数据与流程管理全解读!
  10. python 之 类(一个类包含一个类)