小编rha*_*ett的帖子

如何将系列列表传递给Pandas DataFrame?

我意识到Dataframe采用了{'series_name':Series(data,index)}的映射.但是,即使地图是OrderedDict(),它也会自动对该地图进行排序.

是否有一种简单的方法来传递Series(data,index,name = name)列表,以便保留订单并且列名是series.name?如果所有系列的所有指数都相同,是否有一种简单的方法?

我通常只是通过传递一个numpy column_stack的series.values并指定列名来实现这一点.但是,这很难看,在这种特殊情况下,数据不是字符串浮动.

python pandas

18
推荐指数
4
解决办法
3万
查看次数

数据类中的 Python 类“常量”

了解以下不是真正的常量,尝试遵循PEP 8我想在 Python 3.7 的 @dataclass 中创建一个“常量”。

@dataclass
class MyClass:
    data: DataFrame

    SEED = 8675309  # Jenny's Constant
Run Code Online (Sandbox Code Playgroud)

我的代码曾经是:

class MyClass:
    SEED = 8675309  # Jenny's Constant

    def __init__(data):
        self.data = data
Run Code Online (Sandbox Code Playgroud)

这两个在处理种子方面是等效的吗?种子现在是 init/eq/hash 的一部分吗?这些常量是否有首选样式?

python constants python-3.7 python-dataclasses

12
推荐指数
1
解决办法
2956
查看次数

使用Pandas在Excel中编写百分比

在使用Pandas之前写入csv时,我经常会使用以下格式来表示百分比:

'%0.2f%%' % (x * 100)
Run Code Online (Sandbox Code Playgroud)

加载csv时,这将由Excel正确处理.

现在,我正在尝试使用Pandas的to_excel函数并使用

(simulated * 100.).to_excel(writer, 'Simulated', float_format='%0.2f%%')
Run Code Online (Sandbox Code Playgroud)

并得到一个"ValueError:float()的无效文字:0.0126%".没有'%%'它写得很好,但没有格式化为百分比.

有没有办法在Pandas的to_excel中写入百分比?

这个问题在这一点上都很古老.有关更好的解决方案,请查看使用pandas的xlsxwriter.

python excel pandas

10
推荐指数
3
解决办法
4112
查看次数

用大熊猫解析时避免Excel的科学记数舍入

我有一个excel文件自动生成偶尔非常大的数字,如135061808695.在excel文件中,当您单击单元格时,它会显示完整的数字,135061808695但在视觉上使用自动"常规"格式,数字显示为1.35063E+11.

当我ExcelFile在Pandas中使用时,它会以科学记数法1.350618e+11而不是完整的值来提取值135061808695.有没有办法让Pandas在不搞乱excel文件的情况下提取全部价值?

python parsing import-from-excel pandas

7
推荐指数
1
解决办法
2644
查看次数

带有假日日历的Pandas中的DateOffset

Pandas目前允许您在指定日期添加工作日datetime.today() + 3*BDay().我想扩展一个工作日的想法,以排除给定的假期和周末的DateIndex.这是否可能将DateIndex合并到偏移中?

pandas

6
推荐指数
2
解决办法
4281
查看次数

用最大行数替换DataFrame中的Null

有没有一种方法(比使用for循环更有效)用其各自行中的最大值替换Pandas DataFrame中的所有空值。

python missing-data dataframe pandas

5
推荐指数
1
解决办法
1608
查看次数

使用 SciPy 拟合征费稳定分布

在 1.2 SciPy 添加了拟合 Levy-Stable 分布能力。我有一些我想适合的发行版,但我在让适合运行时遇到了一些问题。

这是我的测试用例:

points = 1000
jennys_constant = 8675309
alpha, beta = 1.8, -0.5

draw = levy_stable.rvs(alpha, beta, size=points, random_state=jennys_constant)
print(levy_stable.fit(draw))
Run Code Online (Sandbox Code Playgroud)

我觉得如果我从 Levy-Stable 分布中抽取,我应该能够很容易地适应该抽取。但是,我收到了很多如下警告,并且问题在 1000 点上花费了很长时间。

C:\anaconda3\lib\site-packages\scipy\stats\_continuous_distns.py:3857: IntegrationWarning: The integral is probably divergent, or slowly convergent.
intg = integrate.quad(f, -xi, np.pi/2, **intg_kwargs)[0]
Run Code Online (Sandbox Code Playgroud)

我是否错误地设置了问题?的SciPy的文档是关于该主题的位薄。

我在拟合我的真实世界数据时遇到了类似的问题。

python statistics numpy scipy

4
推荐指数
2
解决办法
2096
查看次数

解析Pandas中的多索引Excel文件

我有一个带有三级列MultiIndex的时间序列excel文件,如果可能的话我想成功解析.关于如何对堆栈溢出的索引执行此操作有一些结果但不是列,并且该parse函数具有header似乎不占用行列表的结果.

ExcelFile看起来像如下所示:

  • A列是从A4开始的所有时间序列日期
  • B列有top_level1(B1)mid_level1(B2)low_level1(B3)数据(B4-B100 +)
  • C列具有null(C1)null(C2)low_level2(C3)数据(C4-C100 +)
  • 列D具有空(D1)mid_level2(D2)low_level1(D3)数据(D4-D100 +)
  • E列具有null(E1)null(E2)low_level2(E3)数据(E4-E100 +)
  • ...

所以有两个low_level值很多mid_level值和一些top_level值,但诀窍是顶级和中级值为空,并假设为左侧的值.因此,例如,上面的所有列都将top_level1作为顶部多索引值.

到目前为止,我最好的想法是使用transpose,但它Unnamed: #到处填充,似乎不起作用.在Pandas中,0.13 read_csv似乎有一个header可以列出的参数,但这似乎不起作用parse.

python excel parsing time-series pandas

3
推荐指数
1
解决办法
2905
查看次数

熊猫集团按列名

我有一个数据框,我们可以通过

df = pd.DataFrame({'a':[1,0,0], 'b':[0,1,0], 'c':[1,0,0], 'd':[2,3,4]})
Run Code Online (Sandbox Code Playgroud)

和一个类别系列

category = pd.Series(['A', 'B', 'B', 'A'], ['a', 'b', 'c', 'd'])
Run Code Online (Sandbox Code Playgroud)

我想将df列的总和分为“ A”,“ B”类别。也许像:

result = df.groupby(??, axis=1).sum()
Run Code Online (Sandbox Code Playgroud)

返回

result = pd.DataFrame({'A':[3,3,4], 'B':[1,1,0]})
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

3
推荐指数
1
解决办法
2153
查看次数

将 Pandas 中的滚动相关输出简化为单个索引数据帧

我有一个大小合理的时间序列数据 DataFrame,并且我希望以合理的格式滚动成对相关数据。

Pandas 有一个非常有趣的“滚动”功能,可以进行正确的计算

dfCorrelations = dfReturns.rolling(correlation_window).corr()
Run Code Online (Sandbox Code Playgroud)

但相关网格的输出时间序列对我以后的使用不方便(显示给定日期的子集的示例输出)。

在此输入图像描述

有没有办法进行相同的计算,但在简单的时间序列 DataFrame 中获取仅具有唯一的非对角相关性的输出?用看起来像这样的列索引说

['III LN x ABN NA', 'III LN x AGN NA', 'III LN x AGS BB', 'ABN NA x AGN NA', 'ABN NA x AGS BB', ...]
Run Code Online (Sandbox Code Playgroud)

python correlation dataframe pandas

2
推荐指数
1
解决办法
1120
查看次数

使用 xlsxwriter 左对齐行

我正在尝试使用 xlsxwriter 左对齐单行。我尝试了以下方法,但它不起作用。我该怎么做?

stats = DataFrame(...)
xl_writer = ExcelWriter(r'U:\temp\test.xlsx')
stats.to_excel(xl_writer, 'Stats')

workbook = xl_writer.book
format_header = workbook.add_format({'align': 'left'})
stats_sheet = xl_writer.sheets['Stats']
stats_sheet.set_row(0, None, format_header)
Run Code Online (Sandbox Code Playgroud)

python formatting pandas xlsxwriter

2
推荐指数
1
解决办法
8286
查看次数

xlwings 可以显示控制台输出吗?

xlwings 是否可以在从 VBA 运行脚本时弹出控制台并显示标准输出?

我知道 xlwings 将标准输出写入日志文件,这很有用,但我想在用户等待计算完成时为他们提供一些更新。调试器可以做到这一点,但似乎有点矫枉过正。

python console vba stdout xlwings

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