当前位置: 首页 > 知识库问答 >
问题:

无法将0为的pandas str列转换为int[重复]

麻烨
2023-03-14

假设我有一个像这样的数据框...

xdf = pd.DataFrame({ 'foo': ['1', '2', '3']})

我想把这个列转换成int类型。我可以很容易地做到这一点与。。。

df = df.astype({ 'foo': 'int' })

但是如果我的数据帧看起来像这样。。。

df = pd.DataFrame({ 'foo': ['1.0', '2.0', '3.0']})

我尝试将其从对象转换为int然后我得到了这个错误

ValueError: invalid literal for int() with base 10: '1.0'

为什么这样不行?我该如何正确地将其转换为int?

共有2个答案

苏墨竹
2023-03-14

您可以使用to_numeric方法的向下转换选项。

df['foo]=pd.to\u numeric(df['foo',downcast='integer')

浦琪
2023-03-14

只需进行两步转换,字符串为浮动,然后浮动为int。

>>> df.astype({ 'foo': 'float' }).astype({ 'foo': 'int' })
   foo
0    1
1    2
2    3

它可以使用或不使用小数点。

 类似资料:
  • 问题内容: 我想将SQL COUNT的结果存储在变量中,然后将它们除,但是出现错误: 注意:类mysqli_result的对象无法在----中转换为int 我曾经在测试时显示结果…我该如何解决? 问题答案: 您需要先获取结果并将其存储在变量中,然后再进行数学运算。

  • 问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。

  • 问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。

  • 问题内容: 我有一个将Android数据保存在其中的函数,但必须将数据转换为。 只要是我想保存为 以下是我的代码,只要值是 将上述转化为。 这是我决定要执行的操作,但是仍然无法将字符串值转换为每当它的。 然后功能 我应该如何对其进行更改以使其起作用? 问题答案: 不用编写自己的函数,而是使用try-catch的内部构造。您的问题是,or 或值本身是a,并且您在null引用上调用方法。请尝试以下操作

  • 问题内容: 我有一个数据框(df),看起来像: 对于整个时间序列,我尝试将今天的值除以昨天,并使用以下命令记录结果: 但是我得到以下错误: 我怎样才能解决这个问题?我试图使用以下方法将其转换为float: 但是什么也无法工作。 问题答案: 您可以改用numpy.log。Math.log需要一个数字,而不是数组。

  • 问题内容: 将数组元素复制到其中的最佳方法是什么? 我需要快速执行此操作,所以最快的方法是什么? 问题答案: 利用创建 “(通过写‘到数组中。更改到返回的列表)’由指定数组支持的固定大小的列表。” 或者,解耦两个数据结构: 或更简洁: