关键词:
【中文标题】如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?【英文标题】:How to have float format with comma as a decimal separator in Python Pandas? 【发布时间】:2019-12-02 16:45:16 【问题描述】:我有一个 csv,其中包含货币数字的字符串值,例如“R$2,444.99”,我读到需要为加载的 DataFrame 制作包含 sum、groupbys 等的报告。
对于这些列,我尝试创建一个自定义转换函数以将其加载为浮点数:
def convert_reais(value: str) -> float:
"""Transforms column value to calculable float."""
if value == "":
return 0.0
return float(value.replace("R$", "").replace(".", "").replace(",", "."))
然后我能够正确地加载列,并传递一个字典,这些列映射到这个函数:
converters = column_net: convert_reais, column_gross: convert_reais
source_df = pd.read_csv(filename, encoding=file_encoding, sep=";",
skiprows=1, converters=converters)
我的最后一个问题是我需要显示 sums 和 groupbys 显示“,”作为小数点分隔符(默认情况下是“.”。例如:
print(source_df.groupby([column_sort])[column_net].sum())
我找到了一种格式化结果的方法:
pd.options.display.float_format = ":,.2f".format
但我没有找到将点更改为逗号的float_format
。
我还尝试使用以下方法加载 CSV:
thousands=".", decimal=","
但这并没有什么区别,因为“R$”仍然让它作为字符串加载。
对我的方法有什么想法吗?
【问题讨论】:
你应该用thousands='.', decimal=','
阅读csv。
@QuangHoang 我已经更新了问题..但这没有任何区别。
【参考方案1】:
我找到了问题的解决方案。
只需按照以下步骤操作:
-
导入内置语言环境模块:
import locale
在您的 shell 中,使用您的货币格式从列表中选择所需并安装的语言环境:locale -a
在 python 上设置您的脚本语言环境:locale.setlocale(locale.LC_ALL, yourlocale)
# ex. 'pt_BR.utf8'
更改 pandas 配置以显示浮动:pd.set_option("float_format", locale.currency)
【讨论】:
Python/Pandas 如何在字符串中的每个数字后加上逗号
】Python/Pandas如何在字符串中的每个数字后加上逗号【英文标题】:Python/PandasHowtoputcommaaftereverynumberinastring【发布时间】:2022-01-0315:32:14【问题描述】:例如你有"blablabla23423451,neemememem5688234hhojvz3451,yoea"。输出应该是这样的... 查看详情
带有逗号十进制参数的 Pandas(Python) to_clipboard
...ecimalparameter【发布时间】:2015-02-0515:55:24【问题描述】:如何复制DataFrameto_cliboard并将其粘贴到excel中,以逗号作为十进制?在R中,这很简单。write.table(obj,\'clipboard\',dec=\',\ 查看详情
在 Python 中使用 Excel 文件作为 pandas 数据框的映射
...大组,它们属于熊猫数据框中较大组的组错误。我不确定如何做到这一点。我以前尝试将错误代码添加到字典中,并使用组名作为键并按其进行分组,但它不会 查看详情
Python pandas-datareader 在逗号上失败
】Pythonpandas-datareader在逗号上失败【英文标题】:Pythonpandas-datareaderfailsoncomma【发布时间】:2017-06-2220:36:36【问题描述】:我正在尝试使用pandas-datareader.data从谷歌获取股票价格,但是当我尝试致电亚马逊(亚马逊现在的价格超过1... 查看详情
Python:从列表中删除逗号,以便我可以使用 pandas 将数据导入 Excel 中的单独单元格
】Python:从列表中删除逗号,以便我可以使用pandas将数据导入Excel中的单独单元格【英文标题】:Python:removingcommasfromlistsothaticanimportdataintoseparatecellsinExcelusingpandas【发布时间】:2018-01-2911:30:00【问题描述】:我是编码新手,正在... 查看详情
如何在python pandas数据框中选择和更改数据[重复]
】如何在pythonpandas数据框中选择和更改数据[重复]【英文标题】:howtoselectandchangedatainpythonpandasdataframe[duplicate]【发布时间】:2018-03-1015:26:28【问题描述】:在pandas中使用以下作为简单示例:数据框heightanimal133dog222cat31000elephant435do... 查看详情
如何在 Python 中使用 Pandas 创建一系列数字
】如何在Python中使用Pandas创建一系列数字【英文标题】:HowtocreateaseriesofnumbersusingPandasinPython【发布时间】:2016-08-0815:08:23【问题描述】:我是python新手,最近学会了使用Pandas在python中创建一个系列。我可以定义一个系列,例如... 查看详情
javascript如何使用逗号作为千位分隔符在javascript中打印数字(代码片段)
如何在 Python 中使用 Pandas 创建会计年度列?
】如何在Python中使用Pandas创建会计年度列?【英文标题】:HowtousePandaswithinPythontocreateaFiscalYearColumn?【发布时间】:2018-03-2320:58:50【问题描述】:我有一个带有python的代码,可以在将.csv附加到另一个数据集之前对其进行清理。它... 查看详情
python中如何将TA-Lib的技术指标与pandas一起使用
】python中如何将TA-Lib的技术指标与pandas一起使用【英文标题】:HowtousetechnicalindicatorsofTA-Libwithpandasinpython【发布时间】:2016-06-2910:13:51【问题描述】:我是python和pandas的新手,主要是学习它来丰富我的编程技能以及python作为通用... 查看详情
如何在 T-SQL 中使用逗号分隔的值列表作为过滤器?
】如何在T-SQL中使用逗号分隔的值列表作为过滤器?【英文标题】:HowdoIuseacommaseparatedlistofvaluesasafilterinT-SQL?【发布时间】:2009-06-2315:09:41【问题描述】:我有一个基本的SQL查询,开头是:SELECTtop20application_id,[name],location_idFROMapps... 查看详情
如何在 python/pandas 中使用 where 条件转换 sql 计数?
】如何在python/pandas中使用where条件转换sql计数?【英文标题】:Howtoconvertsqlcountwithwhereconditioninpython/pandas?【发布时间】:2022-01-2217:45:44【问题描述】:我有下面的sql查询,count(ticket_id)frominteractionsasintrwhereticket_status=\'PENDING\'我需... 查看详情
如何在 hdf5 中有效地保存 python pandas 数据帧并将其作为 R 中的数据帧打开?
】如何在hdf5中有效地保存pythonpandas数据帧并将其作为R中的数据帧打开?【英文标题】:HowcanIefficientlysaveapythonpandasdataframeinhdf5andopenitasadataframeinR?【发布时间】:2012-08-2923:46:18【问题描述】:我认为标题涵盖了这个问题,但要说... 查看详情
如何在 python 中使用 matplotlib 和 pandas 绘制 CSV 数据
】如何在python中使用matplotlib和pandas绘制CSV数据【英文标题】:HowtoplotCSVdatausingmatplotlibandpandasinpython【发布时间】:2017-07-1109:19:15【问题描述】:我有一个python代码,其中我使用pandas读取了一个csv文件,并将日期和时间存储在Datet... 查看详情
如何使用字符串列表在 Python 3 中搜索 pandas 数据框
】如何使用字符串列表在Python3中搜索pandas数据框【英文标题】:HowcanIusealistofstringstosearchapandasdataframewithPython3【发布时间】:2021-09-0609:23:20【问题描述】:我正在尝试使用Python3中的列表搜索Pandas数据框。为了清楚起见,我在使... 查看详情
如何连接/使用字符串在python / pandas中执行命令
】如何连接/使用字符串在python/pandas中执行命令【英文标题】:howtoconcatenate/usestringstoexecutecommandsinpython/pandas【发布时间】:2019-10-0102:36:29【问题描述】:我想使用“命令”字符串来自动化一些pandasdf分析。类似:str_a=\'df.col_1.isna... 查看详情
如何在 Python 中使用 Pandas 按列分组
】如何在Python中使用Pandas按列分组【英文标题】:HowtogroupbyacolumnwithPandasinPython【发布时间】:2021-12-1608:17:08【问题描述】:提前感谢您的反馈!我正在处理时间序列数据,它有2列索引转换为DateTime对象。我正在处理的内容如下... 查看详情
如何使用 Pandas groupby() 将具有逗号分隔的列项的字符串聚合到列表中?
】如何使用Pandasgroupby()将具有逗号分隔的列项的字符串聚合到列表中?【英文标题】:Howtoaggregatestringwithcomma-separateditemsofacolumnintoalistwithPandasgroupby()?【发布时间】:2020-03-0407:15:21【问题描述】:我有如下数据:NAMEETHNICITY_RECATTOTA... 查看详情