小编Gab*_*iel的帖子

在seaborn heatmap中自动调整字体大小

当使用seaborn热图时,有没有办法自动调整字体大小以使其完全适合方块内?例如:

sns.heatmap(corrmat, vmin=corrmat.values.min(), vmax=1, square=True, cmap="YlGnBu", 
        linewidths=0.1, annot=True, annot_kws={"size":8})  
Run Code Online (Sandbox Code Playgroud)

这里的大小设置在"annot_kws"中.

python matplotlib seaborn

17
推荐指数
4
解决办法
8647
查看次数

pandas用以前的非零值替换零

我有以下数据帧:

index = range(14)
data = [1, 0, 0, 2, 0, 4, 6, 8, 0, 0, 0, 0, 2, 1]
df = pd.DataFrame(data=data, index=index, columns = ['A'])
Run Code Online (Sandbox Code Playgroud)

如何使用pandas使用之前的非零值填充零?是否有一个不仅仅是"NaN"的填充物?

输出应如下所示:

[1, 1, 1, 2, 2, 4, 6, 8, 8, 8, 8, 8, 2, 1]
Run Code Online (Sandbox Code Playgroud)

(这个问题在此之前被问过用一个非零值填充1d numpy数组的零值,但他只是要求一个numpy解决方案)

python pandas

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

在Pandas中,与read_excel()中使用的read_csv()中的'nrows'相当吗?

想要将excel电子表格(.xlsm格式,因为它有宏)中的特定范围的数据导入到pandas数据帧中.这样做是这样的:

data    = pd.read_excel(filepath, header=0,  skiprows=4, nrows= 20, parse_cols = "A:D")
Run Code Online (Sandbox Code Playgroud)

但似乎nrows仅适用于read_csv()?read_excel()的等价物是什么?

python pandas

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

大熊猫的平均值计算,不包括零

有没有直接的方法来计算pandas中数据帧列的平均值,但没有考虑零值作为值的数据?像.mean()函数中的参数一样?目前这样做是这样的:

x = df[df[A]!=0]
x.mean()
Run Code Online (Sandbox Code Playgroud)

python pandas

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

xlswriter格式化范围

在xlswriter中,一旦定义了格式,如何将它应用于范围而不是整列或整行?

例如:

perc_fmt = workbook.add_format({'num_format': '0.00%','align': 'center'})
worksheet.set_column('B:B', 10.00, perc_fmt)
Run Code Online (Sandbox Code Playgroud)

这会将它应用到整个"B"列,但是如何将"perc_fmt"应用于范围,例如,如果我这样做:

range2 = "B2:C15"
worksheet2.write(range2, perc_fmt)
Run Code Online (Sandbox Code Playgroud)

它说:

TypeError: Unsupported type <class 'xlsxwriter.format.Format'> in write()
Run Code Online (Sandbox Code Playgroud)

python pandas xlsxwriter

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

带有bootstrap的随机森林= scikit-learn python中的False

如果我们选择bootstrap = False,RandomForestClassifier()会做什么?

根据此链接中的定义

http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier

bootstrap:boolean,optional(default = True)构建树时是否使用bootstrap样本.

问这个因为我想对时间序列使用随机森林方法,所以训练一个大小为(tn)的滚动窗口并预测日期(t + k),并想知道如果我们选择True或是否会发生这种情况假:

1)如果Bootstrap = True,那么当训练样本可以是任何一天和任何数量的功能.因此,例如可以从具有随机选择的特征的每天(t-15),白天(t-19)和白天(t-35)获得样本,然后预测日期的输出(t + 1).

2)如果Bootstrap = False,它将使用所有样本和从日期(tn)到t的所有特征进行训练,那么它实际上将遵守日期顺序(意味着它将使用t-35,t-34,t -33 ......等到t-1).然后将预测日期的输出(t + 1).

如果这是Bootstrap的工作方式,我会倾向于使用Boostrap = False,好像不会有点奇怪(想想金融系列)只是忽略连续几天的回报并从第t-39天跳到t-19并且然后到第t-15天预测第t + 1天.我们会错过那些日子之间的所有信息.

那么...这就是Bootstrap的工作方式吗?

python machine-learning scikit-learn

7
推荐指数
2
解决办法
5886
查看次数

降级到之前版本的Spyder

我目前正在使用带有Python 2.7.9-1的Anaconda软件包

昨天我通过Anaconda Launcher升级了Spyder-app,现在我的所有脚本都崩溃了.(问题页面https://github.com/spyder-ide/spyder/issues中已经报告了一些错误).我怎样才能降级到之前的Spyder版本同时修复了这些错误?

谢谢

加布里埃尔

python spyder anaconda

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

百分比格式的XlsxWriter错误

我正在使用Pandas并使用XlsxWriter将数据导出到excel.其中一个数据列有浮点数,需要格式化为百分比,所以我这样做:

percent_fmt = workbook.add_format({'num_format': '0.00%'})
worksheet.set_column('E:E', percent_fmt)
Run Code Online (Sandbox Code Playgroud)

之后出现以下错误:

文件 "C:\ Program Files文件\蟒蛇\ LIB \站点包\ xlsxwriter\worksheet.py",线4688,在_write_col_info /浮动(max_digit_width)*256.0)/ 256.0

类型错误:"格式"和"INT":用于*不受支持的操作数类型

我在这做错了什么?

python pandas xlsxwriter

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

python中的matplotlib条件背景颜色

如何根据图表中没有的变量更改折线图的背景颜色?例如,如果我有以下数据帧:

import numpy as np
import pandas as pd

dates = pd.date_range('20000101', periods=800)
df = pd.DataFrame(index=dates)
df['A'] = np.cumsum(np.random.randn(800))  
df['B'] = np.random.randint(-1,2,size=800)
Run Code Online (Sandbox Code Playgroud)

如果我做df.A的折线图,如何根据该时间点'B'列的值更改背景颜色?

例如,如果在该日期B = 1,则该日期的背景为绿色.

如果B = 0,则该日期的背景应为黄色.

如果B = -1那么背景那个日期应该是红色的.

添加我最初考虑使用axvline的解决方法,但@jakevdp回答正是因为不需要for循环,所以首先需要添加一个'i'列作为计数器,然后整个代码如下所示:

dates = pd.date_range('20000101', periods=800)
df = pd.DataFrame(index=dates)
df['A'] = np.cumsum(np.random.randn(800))  
df['B'] = np.random.randint(-1,2,size=800)
df['i'] = range(1,801)

# getting the row where those values are true wit the 'i' value
zeros = df[df['B']== 0]['i'] 
pos_1 = df[df['B']==1]['i']
neg_1 = df[df['B']==-1]['i']

ax = df.A.plot()

for x in zeros:
    ax.axvline(df.index[x], …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas

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

在spyder中可视化图表

自2015年11月以来,情节是开源的,可用于python.https://plot.ly/javascript/open-source-announcement/

当试图离线做一些图时,这些工作在iPython Notebook(版本4.0.4)但是如果我尝试在Spyder(版本2.3.8)中运行它们,我只是得到以下输出:

<IPython.core.display.HTML object>
<IPython.core.display.HTML object>
Run Code Online (Sandbox Code Playgroud)

我的代码有问题,或者Spyder的iPython终端仍然不支持这个?

以下是示例代码(摘自https://www.reddit.com/r/IPython/comments/3tibc8/tip_on_how_to_run_plotly_examples_in_offline_mode/)

from plotly.offline import download_plotlyjs, init_notebook_mode, iplot
from plotly.graph_objs import *
init_notebook_mode()

trace0 = Scatter(
    x=[1, 2, 3, 4],
    y=[10, 11, 12, 13],
    mode='markers',
    marker=dict(
        size=[40, 60, 80, 100],
    )
)
data = [trace0]
layout = Layout(
    showlegend=False,
    height=600,
    width=600,
)

fig = dict( data=data, layout=layout )

iplot(fig)  
Run Code Online (Sandbox Code Playgroud)

plot python-2.7 spyder plotly

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

重塑Pandas DataFrame

我有以下DataFrame

           A
0  2012-01-13 10:00:06
1  2012-01-13 11:09:04
2  2012-01-13 12:07:05
3  2012-01-13 13:03:04
4  2012-01-16 10:00:10
5  2012-01-16 11:09:04
6  2012-01-16 12:01:05
7  2012-01-16 13:09:04
8  2012-01-17 10:01:04
9  2012-01-17 11:05:06
10 2012-01-17 12:01:05
11 2012-01-17 13:04:04
Run Code Online (Sandbox Code Playgroud)

其中索引是0,1,..等

有没有办法根据当天转置数据?例如,新的DataFrame应如下所示:

          A                     B                   C                   D
0   2012-01-13 10:00    2012-01-13 11:09    2012-01-13 12:07    2012-01-13 13:03
1   2012-01-16 10:00    2012-01-16 11:09    2012-01-16 12:01    2012-01-16 13:09
2   2012-01-17 10:01    2012-01-17 11:05    2012-01-17 12:01    2012-01-17 13:04
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在python或pandas中打开扩展名为.gl的文件夹

我从我正在关注的在线课程中下载了一些数据.

解压缩后,它会生成一个名为home.gl的文件夹(该文件夹附带gl扩展名),在该文件夹中,它们是这些奇怪的扩展文件.在课程中他们使用graphlab(付费程序),但他们说也可以使用Pandas.

这是可以加载到DataFrame中的数据,它们实际上只是加载它:

sales = graphlab.SFrame('home_data.gl/')
Run Code Online (Sandbox Code Playgroud)

这是被提取的图像. 在此输入图像描述

如何将这些数据加载到Python中,最好是pandas?

这些是他们的指示.

在此输入图像描述

python pandas

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

XlsxWriter python在特定单元格中写入数据帧

可以使用以下方法将数据写入特定单元格:

xlsworksheet.write('B5', 'Hello')
Run Code Online (Sandbox Code Playgroud)

但是如果你尝试编写一个完整的数据帧,df2,从单元格'B5'开始:

xlsworksheet.write('B5', df2)

TypeError: Unsupported type <class 'pandas.core.frame.DataFrame'> in write()
Run Code Online (Sandbox Code Playgroud)

从特定单元格开始编写整个数据帧的方法应该是什么?

我问这个的原因是因为我需要在excel中的同一张表中粘贴2个不同的pandas数据帧.

python pandas xlsxwriter

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