【发布时间】:2019-03-23 14:11:00
【问题描述】:
只是一个(有点)快速的问题 - 如果我有一个数据框,其中有一列由 1.305.000, 4.65, 99.9, 443.111.34000 形式的数字组成,我如何将它们转换为“正确”格式:1305.000, 4.65, 99.9, 443111.34000?
如果有帮助,这些值是从 .csv 文件的其中一列中获得的,例如“总净收入”:
代码块形式:
Day Service Total Net Revenue
0 1 te 1.305.000
1 1 as 4.65
2 2 qw 99.9
3 3 al 443.111.34000
4 6 al 443.111.34000
5 6 te 1.305.000
6 7 pp 200
7 7 te 1.305.000
8 7 al 443.111.34000
9 7 te 1.305.000
还有一种基于反馈的形式:
[{'Day': 1, 'Service': 'te', 'Total Net Revenue': '1.305.000'},
{'Day': 1, 'Service': 'as', 'Total Net Revenue': '4.65'},
{'Day': 2, 'Service': 'qw', 'Total Net Revenue': '99.9'},
{'Day': 3, 'Service': 'al', 'Total Net Revenue': '443.111.34000'},
{'Day': 6, 'Service': 'al', 'Total Net Revenue': '443.111.34000'},
{'Day': 6, 'Service': 'te', 'Total Net Revenue': '1.305.000'},
{'Day': 7, 'Service': 'pp', 'Total Net Revenue': '200'},
{'Day': 7, 'Service': 'te', 'Total Net Revenue': '1.305.000'},
{'Day': 7, 'Service': 'al', 'Total Net Revenue': '443.111.34000'},
{'Day': 7, 'Service': 'te', 'Total Net Revenue': '1.305.000'}]
我似乎找不到任何关于此的参考,我们将不胜感激。谢谢!
【问题讨论】:
-
那些是字符串?
1.305.000不是有效数字。如果将其更改为1,305.000(美国)或1.305,000(德国),它可能是有效的字符串表示形式 -
@PatrickArtner 等一下,我会补充一些我不小心漏掉的信息。
-
@PatrickArtner 我已经添加了!很抱歉给您带来了困惑,希望对您有所帮助。
-
请分享 csv - 几行就足够了。作为猜测:
1.305.000将是 130.5 万 - 而不是 1305。443.111.34000是无效的,但是你转动它。除非它的一些印度符号 en.wikipedia.org/wiki/Indian_numbering_system 他们有时会遗漏一些数字......现在找不到参考 -
@Stoner 最好不要将 CSV 文件顶部的图像发布到代码块中 - 这样,人们可以复制/粘贴它来创建自己的数据框 - 更好的是如果您可以发布
your_df.head(10).to_dict(orient='records')的结果,那么人们可以直接在他们的 REPL 中使用它来重新创建您的 DF。
标签: python python-3.x pandas dataframe number-formatting