有没有一个好的干净的方法将数据帧硬编码成python代码(例如.py文件)?你知道吗
我不想存储在单独的CSV中(我希望脚本文件能够自己运行),而且数据帧不是很大。我也希望它在代码中是什么,很容易修改清楚。你知道吗
例如:
cols = ['val1', 'val2', 'val3']
rows = ['red', 'blue', 'green','orange','pink']
data = [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0], [10.0,11.0,12.0],[13.0, 14.0,15.0]]
pd.DataFrame(data, index=rows, columns=cols)
这是可行的,但是如果您想修改green val2,那么很难立即找到正确的值。稍微好一点(在某些方面):
cols = ['val1', 'val2', 'val3']
rows = ['red', 'blue', 'green','orange','pink']
data = [
# val1, val2, val3
[1.0, 2.0, 3.0], # red
[4.0, 5.0, 6.0], # blue
[7.0, 8.0, 9.0], # green
[10.0,11.0,12.0], # orange
[13.0, 14.0,15.0]] # pink
pd.DataFrame(data, index=rows, columns=cols)
但这需要大量的手动格式化,或者编写一个单独的数据帧打印机,而且很难看,很有黑客味。你知道吗
基于字符串文字使用
pd.read_csv
:在
sep
中包含\s*
意味着您可以使用选项将数据格式化为空白。既然你说数据帧不是很大,为了可读性,为什么不这么做呢?但是,如果您不喜欢手动对齐内容,即使是对于一个小的数据帧,您也可以删除空格并将原始CSV内容粘贴到TESTDATA
。然后可以从sep
中删除\s*
,并删除engine='python'
(后者仅用于抑制与在sep
中使用正则表达式相关的警告)。你知道吗一个更好的版本允许您使用
print(df)
输出本身作为输入,而无需手动编辑,它是:根据我们的意见提供完整答案:
结果:
相关问题 更多 >
编程相关推荐