如何在 Python Pandas 中使用逗号作为小数分隔符的浮点格式?

     2023-04-14     279

关键词:

【中文标题】如何在 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... 查看详情