小编Arc*_*hie的帖子

使用scikit-learn.k-means库输出最接近每个集群中心的50个样本

我使用python scikit-learn库在5000多个样本上拟合了k-means算法.我希望最接近集群中心的50个样本作为输出.我该如何执行此任务?

python k-means scikit-learn

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

如何确定我的imshow大小?

我用以下代码生成了一个2d强度矩阵:

H, x_e, y_e = np.histogram2d(test_y, test_x, bins=(y_e, x_e))
Run Code Online (Sandbox Code Playgroud)

x_e和y_e的值是:

x_e
array([ 0.05      ,  0.0530303 ,  0.05606061,  0.05909091,  0.06212121,
        0.06515152,  0.06818182,  0.07121212,  0.07424242,  0.07727273,
        0.08030303,  0.08333333,  0.08636364,  0.08939394,  0.09242424,
        0.09545455,  0.09848485,  0.10151515,  0.10454545,  0.10757576,
        0.11060606,  0.11363636,  0.11666667,  0.11969697,  0.12272727,
        0.12575758,  0.12878788,  0.13181818,  0.13484848,  0.13787879,
        0.14090909,  0.14393939,  0.1469697 ,  0.15      ,  0.1530303 ,
        0.15606061,  0.15909091,  0.16212121,  0.16515152,  0.16818182,
        0.17121212,  0.17424242,  0.17727273,  0.18030303,  0.18333333,
        0.18636364,  0.18939394,  0.19242424,  0.19545455,  0.19848485,
        0.20151515,  0.20454545,  0.20757576,  0.21060606,  0.21363636,
        0.21666667,  0.21969697,  0.22272727,  0.22575758,  0.22878788,
        0.23181818,  0.23484848,  0.23787879, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

在python中获取数组中所有成对组合的最快方法是什么?

例如,如果数组是[1,2,3,4],我希望输出为[1,2],[1,3],[1,4],[2,3],[2,4] ]和[3,4].

我想要一个比使用两个for循环的强力方法更好的解决方案.我该如何实现?

python arrays list

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

如何打乱 Pandas 数据帧的行组?

假设我有一个数据框 df:

import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.rand(12,4))

print(df)

     0   1   2   3
0   71  64  84  20
1   48  60  83  61
2   48  78  71  46
3   65  88  66  77
4   71  22  42  58
5   66  76  64  80
6   67  28  74  87
7   32  90  55  78
8   80  42  52  14
9   54  76  73  17
10  32  89  42  36
11  85  78  61  12
Run Code Online (Sandbox Code Playgroud)

如何将 df …

python numpy shuffle pandas

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

如何使用 Seaborn 使用对数刻度绘制直方图

我的问题相当简单:我想使用 Seaborn 模块可视化多个直方图,但是,由于许多箱包含的计数很少,我想使用对数刻度可视化垂直轴。

到目前为止我的代码:

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

df = pd.DataFrame(np.random.rand(100,2), columns=['A','B'])
df = pd.melt(df, var_name='Category')     
g = sns.FacetGrid(df, col='Category', sharex=True, sharey=False, aspect=1.5)
g = g.map(plt.hist, "value", color="r")
Run Code Online (Sandbox Code Playgroud)

,这给了我下图: 在此输入图像描述

如何将垂直轴更改为对数刻度(以最“pythonic”/“seabornic”的方式)?我查看了各种答案,但对迄今为止找到的答案不满意。

更新:按照此处的 答案添加以下代码,使我的酒吧消失:

g.fig.get_axes()[0].set_yscale('log')
Run Code Online (Sandbox Code Playgroud)

更新二: 以下代码解决了我的问题:

df = pd.DataFrame(np.random.rand(100,2), columns=['A','B'])
df = pd.melt(df, var_name='Category')     
g = sns.FacetGrid(df, col='Category', sharex=True, sharey=False, aspect=1.5)
g = g.map(plt.hist, "value", color="r", log=True)
Run Code Online (Sandbox Code Playgroud)

python histogram python-3.x seaborn

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

AttributeError:模块“xgboost”没有属性“XGBRegressor”

我正在尝试使用spyder和python运行xgboost,但我不断收到此错误:

\n\n

AttributeError: 模块 \xe2\x80\x98xgboost\xe2\x80\x99 没有属性 \xe2\x80\x98XGBRegressor\xe2\x80\x99

\n\n

这是代码:

\n\n
import xgboost as xgb \n\nxgb.XGBRegressor(max_depth=3, learning_rate=0.1, n_estimators=100, silent=True, \n                 objective=\'reg:linear\', gamma=0, min_child_weight=1, \n                 max_delta_step=0, subsample=1, colsample_bytree=1, \n                 seed=0, missing=None)\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误是

\n\n
Traceback (most recent call last):\n\n  File "<ipython-input-33-d257a9a2a5d8>", line 1, in <module>\n    xgb.XGBRegressor(max_depth=3, learning_rate=0.1, n_estimators=100, silent=True,\n\nAttributeError: module \'xgboost\' has no attribute \'XGBRegressor\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有\nPython 3.5.2 :: Anaconda 4.2.0 (x86_64)

\n\n

我该如何解决这个问题?

\n

python regression machine-learning spyder xgboost

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

外线 Seaborn violinplot/boxplot

我正在使用 Seaborn 库中的 violinplot 函数。有时外线是可视化的: 在此处输入图片说明

有时它们不是: 在此处输入图片说明

这些示例基于相同的代码,运行时间不同:

  df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
  sns.violinplot(data=df, order=list(df.columns), cut=0,inner='points', bw='silverman', split=True, color='limegreen')
  plt.show()
Run Code Online (Sandbox Code Playgroud)

如何操作外线的格式?

python matplotlib seaborn

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

如何在熊猫数据框中的所有列中获取唯一值

我想列出Pandas数据框中所有列中的所有唯一值,并将它们存储在另一个数据框中。我已经尝试过了,但是明智地附加了行,我希望明智地按列。我怎么做?

raw_data = {'student_name': ['Miller', 'Miller', 'Ali', 'Miller'], 
        'test_score': [76, 75,74,76]}
      df2 = pd.DataFrame(raw_data, columns = ['student_name', 'test_score'])


      newDF = pd.DataFrame() 

      for column in df2.columns[0:]:
          dat = df2[column].drop_duplicates()
          df3 = pd.DataFrame(dat)
          newDF = newDF.append(df3)

print(newDF)


Expected Output:
student_name  test_score
Ali          74
Miller       75
             76
Run Code Online (Sandbox Code Playgroud)

python pandas

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

统计相关性:Pearson还是Spearman?

我在区间[0,1]中有2个45个值的系列.第一个系列是人工生成的标准,第二个系列是计算机生成的(完整系列在这里http://www.copypastecode.com/74844/).第一个系列逐渐排序.

0.909090909 0.216196598
0.909090909 0.111282099
0.9 0.021432587
0.9 0.033901106
...
0.1 0.003099256
0   0.001084533
0   0.008882249
0   0.006501463
Run Code Online (Sandbox Code Playgroud)

现在我要评估的是第二个系列中订单保留的程度,因为第一个系列是单调的.该Pearson相关是0.454763067,但我认为我们之间的关系不是线性的,所以这个值是难以解释.

一种自然的方法是使用Spearman等级相关,在这种情况下是0.670556181.我注意到随机值,当Pearson非常接近0时,Spearman等级相关性上升到0.5,所以0.67的值似乎非常低.

您将使用什么来评估这两个系列之间的顺序相似性?

statistics analysis pearson correlation

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

从pandas在seaborn clustermap中设置col_colors

我有一个从pandas数据帧生成的clustermap.其中两列用于生成簇图,我需要使用第三列使用sns.palplot(sns.light_palette('red'))调色板生成col_colors栏(值将为0 - 1,浅 - 深色).

伪代码看起来像这样:

df=pd.DataFrame(input, columns = ['Source', 'amplicon', 'coverage', 'GC'])
tiles = df.pivot("Source", "amplicon", "coverage")
col_colors = [values from df['GC']]
sns.clustermap(tiles, vmin=0, vmax=2, col_colors=col_colors)
Run Code Online (Sandbox Code Playgroud)

我正在努力寻找有关如何设置col_colors的详细信息,以便将正确的值链接到相应的tile.一些方向将不胜感激.

python matplotlib pandas seaborn

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

修改pandas箱线图输出

根据文档,我在 pandas 中制作了这个图:

import pandas as pd
import numpy as np
import pyplot as plt

df = pd.DataFrame(np.random.rand(140, 4), columns=['A', 'B', 'C', 'D'])
df['models'] = pd.Series(np.repeat(['model1','model2', 'model3', 'model4', 'model5', 'model6', 'model7'], 20))
plt.figure()
bp = df.boxplot(by="models")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我怎样才能修改这个情节?

我想:

  • 将排列从 (2,2) 修改为 (1,4)
  • 更改标签和标题、文本和字体大小
  • 删除“[模型]”文本

以及如何将此图另存为 pdf ?

python matplotlib pandas

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