小编ves*_*and的帖子

相关热图

我想用热图表示相关矩阵.R中有一个叫做correlogram的东西,但我不认为Python中有这样的东西.

我怎样才能做到这一点?值从-1到1,例如:

[[ 1.          0.00279981  0.95173379  0.02486161 -0.00324926 -0.00432099]
 [ 0.00279981  1.          0.17728303  0.64425774  0.30735071  0.37379443]
 [ 0.95173379  0.17728303  1.          0.27072266  0.02549031  0.03324756]
 [ 0.02486161  0.64425774  0.27072266  1.          0.18336236  0.18913512]
 [-0.00324926  0.30735071  0.02549031  0.18336236  1.          0.77678274]
 [-0.00432099  0.37379443  0.03324756  0.18913512  0.77678274  1.        ]]
Run Code Online (Sandbox Code Playgroud)

我能够根据另一个问题生成以下热图,但问题是我的值被'切'为0,所以我希望有一个从蓝色(-1)到红色(1)的地图,或者类似的东西,但这里低于0的值没有以适当的方式呈现.

在此输入图像描述

这是代码:

plt.imshow(correlation_matrix,cmap='hot',interpolation='nearest')
Run Code Online (Sandbox Code Playgroud)

python correlation

33
推荐指数
4
解决办法
8万
查看次数

Plotly:如何设置 y 轴的范围?

我有以下代码可以使用 Plotly 创建线图。如何将 Y 轴的范围设置为始终在 [0; 10]?

layout = go.Layout(
        title=go.layout.Title(
            text="Test",
            xref='paper',
            x=0
        ),
        xaxis=go.layout.XAxis(
            tickmode='linear',
            tickfont=dict(
                size=10
            ),
            title=go.layout.xaxis.Title(
                font=dict(
                    size=14,
                    color='#7f7f7f'
                )
            )
        ),
        yaxis=go.layout.YAxis(
            title=go.layout.yaxis.Title(
                text=y,
                font=dict(
                    size=14,
                    color='#7f7f7f'
                )
            )
        )
    )

    data = [go.Scatter(x=x1, y=y1)]
Run Code Online (Sandbox Code Playgroud)

python plotly plotly-python

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

如何从字符串列表中检索部分匹配项

有关在数字列表中检索部分匹配项的方法,请访问:


但是,如果您正在寻找如何检索字符串列表的部分匹配项,您会在下面的答案中找到简明扼要地解释的最佳方法。

SO:部分匹配的 Python 列表查找显示了如何返回 a bool,如果 alist包含部分匹配(例如beginsends, 或contains)某个字符串的元素。但是你怎么能返回元素本身,而不是TrueFalse

例子:

l = ['ones', 'twos', 'threes']
wanted = 'three'
Run Code Online (Sandbox Code Playgroud)

在这里,链接问题中的方法将返回True使用:

any(s.startswith(wanted) for s in l)
Run Code Online (Sandbox Code Playgroud)

那么如何返回元素'threes'呢?

python string list filter

19
推荐指数
5
解决办法
8382
查看次数

仅选择一个多索引DataFrame索引

我正在尝试使用多索引DataFrame中的一个索引创建一个新的DataFrame.

                   A         B         C
first second                              
bar   one     0.895717  0.410835 -1.413681
      two     0.805244  0.813850  1.607920
baz   one    -1.206412  0.132003  1.024180
      two     2.565646 -0.827317  0.569605
foo   one     1.431256 -0.076467  0.875906
      two     1.340309 -1.187678 -2.211372
qux   one    -1.170299  1.130127  0.974466
      two    -0.226169 -1.436737 -2.006747
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要这样的事情:

In: df.ix[level="first"]
Run Code Online (Sandbox Code Playgroud)

和:

Out:

               A         B         C
first                               
bar        0.895717  0.410835 -1.413681
           0.805244  0.813850  1.607920
baz       -1.206412  0.132003  1.024180
           2.565646 -0.827317  0.569605
foo        1.431256 -0.076467  0.875906
           1.340309 -1.187678 -2.211372
qux       -1.170299  1.130127  0.974466
          -0.226169 -1.436737 -2.006747
` …
Run Code Online (Sandbox Code Playgroud)

python indexing select dataframe pandas

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

如何在Jupyter笔记本中使用破折号?

是否可以在Jupyter笔记本中使用破折号应用程序,而不是在浏览器中提供和查看?

我的目的是,使得鼠标悬停在一个图表生成用于另一曲线图所需要的输入Jupter笔记本内链接的曲线图.

python plotly jupyter-notebook plotly-dash

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

使用seaborn,如何将垂直线添加到分布图(sns.distplot)

使用seaborn.pydata.orgPython DataScience手册中的示例,我可以使用以下代码段生成组合分布图:

码:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# some settings
sns.set_style("darkgrid")

# Create some data
data = np.random.multivariate_normal([0, 0], [[5, 2], [2, 2]], size=2000)
data = pd.DataFrame(data, columns=['x', 'y'])

# Combined distributionplot
sns.distplot(data['x'])
sns.distplot(data['y'])
Run Code Online (Sandbox Code Playgroud)

情节: 在此输入图像描述

如何将此设置与垂直线组合,以便我可以说明这样的阈值:

在此输入图像描述

我知道我可以用matplotlib这样做动态直方图子图用线标记目标,但我真的很喜欢seaborn情节的简单性,并且真的想知道是否可以更优雅地做到这一点.(是的,我知道seaborn建立在顶级matplotlib上)

谢谢你的任何建议!

python plot matplotlib seaborn

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

Plotly:如何设置线条颜色?

如何设置线条的颜色plotly

import plotly.graph_objects as go
from plotly.subplots import make_subplots


fig = make_subplots(rows=2, cols=1, subplot_titles=('Plot 1', 'Plot 2'))

# plot the first line of the first plot
fig.append_trace(go.Scatter(x=self.x_axis_pd, y=self.y_1, mode='lines+markers', name='line#1'), row=1, col=1)  # this line should be #ffe476
Run Code Online (Sandbox Code Playgroud)

我试过了,fillcolor但我怀疑这不起作用,因为这是一条简单的线路。

python python-3.x plotly plotly-python

16
推荐指数
3
解决办法
2万
查看次数

完成此Pandas作业的方法比使用Apply for large数据集更快?

我有一个由两个不同对象组成的CSV文件的大型数据集:"object_a"和"object_b".这些实体中的每一个都具有数字"tick"值.

Type,       Parent Name, Ticks
object_a,   4556421,     34
object_a,   4556421,     0
object_b,   4556421,     0
object_a,   3217863,     2
object_b,   3217863,     1
......
Run Code Online (Sandbox Code Playgroud)

每个对象共享一个"父名称"值,因此在大多数情况下,每个对象中的一个将共享一个"父名称"值,但情况并非总是如此.

这个数据集有两个目标:

  • 在父名称下提取所有object_a,其中i)有> 1个object_a和; ii)object_a有0个刻度,但另一个object_a有> 0个刻度.即只是零刻度的那个

  • 在父名称下提取所有object_b,其中i)有> = 1 object_a和; ii)object_b有0个刻度,但object_a有> 0个刻度

我的第一种方法是为两个任务分别使用两个函数,以块的形式读取CSV文件(通常大小为1.5GB),并根据父名称将提取的行输出到另一个csv文件...

def objective_one(group_name, group_df):

   group_df = group_df[group_df['Type'] == 'object_a']

   if len(group_df) > 1:

       zero_tick_object_a = group_df[group_df['Ticks'] == 0]

       if len(zero_click_object_a) < len(group_df):

           return zero_click_object_a

       else:

           return pd.DataFrame(columns=group_df.columns)
   else:

       return pd.DataFrame(columns=group_df.columns)



def objective_two(group_name, group_df):

   object_a_in_group_df = group_df[group_df['Type'] == 'object_a']
   object_b_has_no_clicks_in_group_df = group_df[(group_df['Type'] == 'object_b') & (group_df['Ticks'] == 0)] …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

Plotly:如何根据条件为两条线之间的填充着色?

我想在绘图图表上的黑色和蓝色线之间添加填充颜色。我知道这可以通过 Plotly 完成,但我不确定如何根据条件用两种颜色填充图表。这是我的 Plotly 图表这就是我想要实现的目标

蓝色背景的图表是我的 Plotly 图表。我想让它看起来像白色背景的图表。(忽略白色图表上的红色和绿色条)

我希望它通过的条件是:

如果黑线位于蓝线上方,则将两条线之间的区域填充为绿色。

如果黑线位于蓝线下方,则将两条线之间的区域填充为红色。

这如何用 Plotly 来完成呢?如果 Plotly 无法做到这一点,可以使用其他与 Python 配合使用的绘图工具来完成。

python charts fill plotly plotly-python

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

时间序列的分解():ValueError:您必须指定一个周期或x必须是一个带有DatetimeIndex且频率未设置为None的pandas对象

正确执行加法模型有一些问题。

我有那个数据框: 在此处输入图片说明

当我运行此代码时:

import statsmodels as sm
import statsmodels.api as sm
decomposition = sm.tsa.seasonal_decompose(df, model = 'additive')
fig = decomposition.plot()
matplotlib.rcParams['figure.figsize'] = [9.0,5.0]
Run Code Online (Sandbox Code Playgroud)

我收到了这条消息:

ValueError: 您必须指定一个句点或 x 必须是一个带有 DatetimeIndex 且频率未设置为 None 的 Pandas 对象

我应该怎么做才能得到那个例子: 在此处输入图片说明

上面我从这个地方截取的屏幕https://towardsdatascience.com/analyzing-time-series-data-in-pandas-be3887fdd621

python time-series matplotlib decomposition pandas

13
推荐指数
3
解决办法
2万
查看次数