【发布时间】:2018-11-18 03:02:40
【问题描述】:
我正在尝试格式化我的数据框的行,但没有成功。
我的数据框输出是:
X Y
443 cd2a9dd781c1396d4000ae05fcc3a0b00a5dc4f9 889.825
111 ae3faf7ed08967e93d5f5ed6e10a5b256ec8c7fa 883.275
221 601f669c760687b84ec57fe1eec213e26114a262 868.345
631 80f54ce2aa2839e80cd5447cb369ec31f5e1fd47 867.545
我想要以下格式的输出:
{"X": "cd2a9dd781c1396d4000ae05fcc3a0b00a5dc4f9", "Y": 889.8}
{"X": "ae3faf7ed08967e93d5f5ed6e10a5b256ec8c7fa", "Y": 883.2}
我试过了:
format = '{"X": "{}", "Y": {%.1f}}'.format
my_df.apply(lambda x: format(**x), 1)
和:
my_df.style.format({'X': '{"X": "{}",', 'Y': '"Y": {%.1f}}'})
和:
my_df.to_string(formatters={'X':'"X": "{}",'.format, 'Y':'"Y": {%.1f}'.format})
没有一个对我有用。最后一次尝试 (to_string) 返回以下错误:
文件“/usr/local/lib/python3.5/dist-packages/pandas/io/formats/format.py”,第 1781 行,在 get_result
fmt_values = self._format_strings()
文件“/usr/local/lib/python3.5/dist-packages/pandas/io/formats/format.py”,第 1961 行,在 _format_strings
return [self.formatter(x) for x in self.values]
文件“/usr/local/lib/python3.5/dist-packages/pandas/io/formats/format.py”,第 1961 行,在
return [self.formatter(x) for x in self.values]
键错误:'%'
有什么建议/帮助吗?
【问题讨论】:
标签: python python-3.x pandas formatting