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

当我在Python中有一个小数点和一千个逗号时,我如何更改数据的类型?[副本]

施超
2023-03-14
import pandas as pd
data = {'Sale':['9.455', '34,65%', '234.12', '32.6%','3,5%']}
df = pd.DataFrame(data) 
df.dtypes
[9455, 0.3465, 23412, 0.326,0.035]

非常感谢雨果,

共有1个答案

葛威
2023-03-14

您可以使用pandas.to_numeric+numpy.where:

values = pd.to_numeric(df.Sale.str.replace("[.%]", "").str.replace(",", "."))
result = np.where(df.Sale.str.contains("%"), values / 100, values)
print(pd.Series(result))

输出

0     9455.0000
1        0.3465
2    23412.0000
3        3.2600
4        0.0350
dtype: float64

台词:

values = pd.to_numeric(df.Sale.str.replace("[.%]", "").str.replace(",", "."))
result = np.where(df.Sale.str.contains("%"), values / 100, values)
 类似资料:
  • 问题内容: Go 支持以数千个逗号输出数字吗? 输出,我可以指定输出什么格式呢? 这些文档似乎没有提到逗号,而且我也无法立即在源代码中看到任何内容。 问题答案: fmt打印动词均不支持数千个分隔符。

  • 我在谷歌上搜索了一个小时左右,还没有找到我要找的东西。这就是我在代码中的位置。 我使用BS将信息拉下并保存到CSV文件中。CSV有x,y坐标,我可以把它做成散点图。 0,7 4、6 9,9 我想做的是使散点图上的点的大小与它们出现的频率成比例。 数组只是0到9之间的数字。我想让大小缩放到0-9组合出现的频率。 我现在只有这个,显然它不是真的有用。

  • 如何在成功提交数据时将数据从本地数据库刷新到RecyclerView?我使用应用程序上的选项卡。函数提交数据,如果成功,数据将存储在中。 关于的数据将在中显示。但是发生的情况是,我必须滑动,然后滑动到,然后滑动到我的上成功显示的新的数据。 主要活动: 一切都很顺利,只是希望表单提交的时候数据能显示出来,可以直接在第3页签上查看

  • 我有一个(相当复杂的)数据类型: 现在我发现自己需要另一个数据类型…有两个构造函数。一个与的相同;另一个只存储一个。我有什么选择? 虽然这会起作用,但它也允许类似这样的东西,这是没有意义的。

  • 我是python新手。在python中,我希望将浮点变量转换为具有2位小数和小数逗号的字符串变量。 例如,3.1415-- 它工作得很好。但是当我转换1.20时,它得到的是1,2,而不是1,20。我想问后一个问题,有没有一个简单的方法来实现这一点?谢谢大家 我的代码如下:

  • 问题内容: 对于此函数,运行后,输出将为2,5,7 .... 9,我的问题是如何删除最后一个逗号? 问题答案: 我会在一开始打印逗号,像这样-