微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有逗号十进制参数的Pandas(Python)to_clipboard

如何将DataFrame复制到_cliboard并将其粘贴到excel中,并用逗号作为小数点?

在R中,这很简单.

write.table(obj, 'clipboard', dec = ',')

但是我无法在熊猫to_clipboard中弄清楚.

我尝试更改未成功:

import locale
locale.setlocale(locale.LC_ALL, '')

1252西班牙语

或df.to_clipboard(float_format =’%,%’)

提前致谢

解决方法:

有一些不同的方法可以实现此目的.首先,可以使用float_format和您的语言环境,尽管用法不是那么简单(但是一旦知道就很简单:float_format参数应该是可以调用函数):

df.to_clipboard(float_format='{:n}'.format)

一个小插图:

In [97]: df = pd.DataFrame(np.random.randn(5,2), columns=['A', 'B'])

In [98]: df
Out[98]:
          A         B
0  1.125438 -1.015477
1  0.900816  1.283971
2  0.874250  1.058217
3 -0.013020  0.758841
4 -0.030534 -0.395631

In [99]: df.to_clipboard(float_format='{:n}'.format)

给出:

           A         B
0    1,12544  -1,01548
1   0,900816   1,28397
2    0,87425   1,05822
3 -0,0130202  0,758841
4 -0,0305337 -0,395631

如果您不想依赖于语言环境设置,但仍具有逗号十进制输出,则可以执行以下操作:

class CommaFloatFormatter:
    def __mod__(self, x):
        return str(x).replace('.',',')

df.to_clipboard(float_format=CommaFloatFormatter())

或者只是在将数据写入剪贴板之前进行转换:

df.applymap(lambda x: str(x).replace('.',',')).to_clipboard()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐