小编Gon*_*ync的帖子

python xlsxwriter不会对齐日期

日期最终出现在单元格的右下角,显然忽略了 xlsxwriter 的对齐设置。一个MWE:

import pandas

df = pandas.DataFrame(
    {
        "ints": [1, 2, 3]
        , 'primes': [2, 3, 5]
        , 'odds': [1, 3, 5]
        , 'fechas': ['2017-04-07', '2017-05-09', '2017-11-30'] 
    }
)

df['fechas'] = pandas.to_datetime(df['fechas']).dt.date

print(df)

xlsx_writer = pandas.ExcelWriter(
    'test.xlsx'
    , engine='xlsxwriter'
    , date_format='mm/dd/yyyy'
)

df.to_excel(xlsx_writer, sheet_name='Sheet1', index=False)
wb = xlsx_writer.book
ws = xlsx_writer.sheets['Sheet1']


dollar_format = '_($* #,##0.00" "_);_($* (#,##0.0);_($* "-"??_);_(@_)'
dollar_format_wb = wb.add_format({'num_format': dollar_format, 'valign': 'vcenter'})
centre_format_wb = wb.add_format({'align': 'center', 'valign': 'vcenter'})

ws.set_column('A:A', 25, centre_format_wb)
ws.set_column('B:B', 20, centre_format_wb)
ws.set_column('C:C', 15, centre_format_wb) …
Run Code Online (Sandbox Code Playgroud)

python pandas xlsxwriter

5
推荐指数
2
解决办法
3505
查看次数

将 PyMC3 Traceplot 子图保存到图像文件

我正在尝试非常简单地将 PyMC3 traceplot 函数(请参阅此处)生成的子图绘制到文件中。

该函数生成子图的 numpy.ndarray (2d)。

我需要将这些子图移动或复制到 matplotlib.figure 中才能保存图像文件。我能找到的所有内容都展示了如何首先生成图形的子图,然后构建它们。

作为一个最小的示例,我从Here提取了示例 PyMC3 代码,并在其中添加了几行以尝试处理子图。

from pymc3 import *
import theano.tensor as tt
from theano import as_op
from numpy import arange, array, empty

### Added these three lines relative to source #######################
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

__all__ = ['disasters_data', 'switchpoint', 'early_mean', 'late_mean', 'rate', 'disasters']

# Time series of recorded coal mining disasters in the UK from 1851 to 1962
disasters_data = array([4, 5, 4, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pymc3

4
推荐指数
1
解决办法
2160
查看次数

来自 locals() 的 Python getattr 因 AttributeError 失败

希望这不是深夜效应,但我被一个非常简单的问题难住了:

def test_getattr(v0):
    v1 = "test1"
    v2 = "test2"
    v3 = "test3"

    for k, v in locals().items():
        print(k, v)

    print(getattr(locals(), 'v1'))

test_getattr("test0")
Run Code Online (Sandbox Code Playgroud)

输出按预期给出 locals() dict 项目:

v0 测试0
v3
测试3 v1 测试1
v2测试2

但随后死亡:

AttributeError: 'dict' 对象没有属性 'v1'

V1明显地在局部变量()“字典”,每初始输出,但随后GETATTR()否则坚持。

这是我第一次需要使用 locals(),但我能找到的每一份文档都表明这应该有效。我错过了什么?

编辑/更新:非常感谢@martijn 在下面的回答。我设法通过将局部变量暂时分配给一个虚拟类来在 getattr() 中使用动态局部变量:

class Attr:
    pass

def test_getattr(v0):
    A = Attr()
    A.v1 = "test1"
    #etc

    print(getattr(A, "v1"))
Run Code Online (Sandbox Code Playgroud)

python getattr

-1
推荐指数
1
解决办法
1431
查看次数

标签 统计

python ×3

getattr ×1

matplotlib ×1

pandas ×1

pymc3 ×1

xlsxwriter ×1