小编Max*_*nis的帖子

使用python中的matplotlib绘制对数轴

我想使用matplotlib绘制一个具有一个对数轴的图形.

我一直在阅读文档,但无法弄清楚语法.我知道它可能就像'scale=linear'在情节论证中那样简单,但我似乎无法做到正确

示例程序:

import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)

line, = ax.plot(a, color='blue', lw=2)
pylab.show()
Run Code Online (Sandbox Code Playgroud)

python logarithm matplotlib scale

325
推荐指数
6
解决办法
56万
查看次数

scikit-learn中跨多个列的标签编码

我正在尝试使用scikit-learn LabelEncoder来编码DataFrame字符串标签的大熊猫.由于数据框有很多(50+)列,我想避免LabelEncoder为每列创建一个对象; 我宁愿只有一个大LabelEncoder对象适用于我的所有数据列.

投掷整DataFrameLabelEncoder创建下面的错误.请记住,我在这里使用虚拟数据; 实际上我正在处理大约50列字符串标记数据,因此需要一个不按名称引用任何列的解决方案.

import pandas
from sklearn import preprocessing 

df = pandas.DataFrame({
    'pets': ['cat', 'dog', 'cat', 'monkey', 'dog', 'dog'], 
    'owner': ['Champ', 'Ron', 'Brick', 'Champ', 'Veronica', 'Ron'], 
    'location': ['San_Diego', 'New_York', 'New_York', 'San_Diego', 'San_Diego', 
                 'New_York']
})

le = preprocessing.LabelEncoder()

le.fit(df)
Run Code Online (Sandbox Code Playgroud)

回溯(最近一次调用最后一次):文件"",第1行,在文件"/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/preprocessing/label.py",第103行,in y y = column_or_1d(Y,警告=真)文件 "/Users/bbalin/anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py",线306,在column_or_1d提高ValueError异常("坏输入形状{ 0.".format(shape))ValueError:输入形状错误(6,3)

有关如何解决这个问题的任何想法?

python pandas scikit-learn

192
推荐指数
13
解决办法
14万
查看次数

承诺已经在评估中:递归默认参数引用或早期问题?

这是我的R代码.功能定义为:

f <- function(x, T) {
  10 * sin(0.3 * x) * sin(1.3 * x ^ 2) + 0.001 * x ^ 3 + 0.2 * x + 80
}

g <- function(x, T, f=f) {
  exp(-f(x) / T)
}

test <- function(g=g, T=1) { 
  g(1, T)
}
Run Code Online (Sandbox Code Playgroud)

运行错误是:

> test()test()中的
错误:
承诺已经在评估中:递归默认参数引用或早期问题?

如果我替代的定义f在的g,那么错误消失.

我想知道错误是什么?如何纠正它,如果没有替代的定义f在的g?谢谢!


更新:

谢谢!两个问题:

(1)如果函数test进一步论证f,你会添加类似的东西test <- function(g.=g, T=1, f..=f){ g.(1,T, f.=f..) }吗?在递归更多的情况下,添加更多是一个好的和安全的做法. …

r

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

忽略ggplot2 boxplot中的异常值

我如何忽略ggplot2 boxplot中的异常值?我不是简单地希望它们消失(即outlier.size = 0),但是我希望它们被忽略,以便y轴缩放以显示第1 /第3百分位数.我的异常值导致"盒子"缩小,实际上是一条线.有一些技巧可以解决这个问题吗?

编辑 这是一个例子:

y = c(.01, .02, .03, .04, .05, .06, .07, .08, .09, .5, -.6)
qplot(1, y, geom="boxplot")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2

119
推荐指数
6
解决办法
12万
查看次数

熊猫占总数的百分比

这显然很简单,但作为一个笨拙的新人我会陷入困境.

我有一个CSV文件,其中包含3个列,State,Office ID和该办公室的Sales.

我想计算某个州的每个办公室的销售百分比(每个州的所有百分比总和为100%).

df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3,
                   'office_id': range(1, 7) * 2,
                   'sales': [np.random.randint(100000, 999999)
                             for _ in range(12)]})

df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Run Code Online (Sandbox Code Playgroud)

返回:

                  sales
state office_id        
AZ    2          839507
      4          373917
      6          347225
CA    1          798585
      3          890850
      5          454423
CO    1          819975
      3          202969
      5          614011
WA    2          163942
      4          369858
      6          959285
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何"高达"的state水平groupby与总起来sales对整个state计算分数.

python pandas

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

检查变量是否为dataframe

当我的函数f用变量调用时我想检查var是否是pandas数据帧:

def f(var):
    if var == pd.DataFrame():
        print "do stuff"
Run Code Online (Sandbox Code Playgroud)

我想解决方案可能很简单,但即便如此

def f(var):
    if var.values != None:
        print "do stuff"
Run Code Online (Sandbox Code Playgroud)

我无法让它按预期工作.

python pandas

110
推荐指数
3
解决办法
9万
查看次数

在matplotlib条形图上添加值标签

我被困在一些感觉应该相对容易的事情上.我下面的代码是基于我正在研究的更大项目的示例.我没有理由发布所有细节,所以请接受我带来的数据结构.

基本上,我正在创建一个条形图,我只是想弄清楚如何在条形图上添加值标签(在条形图的中心,或者在它上面).一直在寻找网络上的样本,但没有成功实现我自己的代码.我相信解决方案要么是'text',要么是'annotate',但是我:a)不知道使用哪一个(一般来说,还没弄清楚何时使用哪个).b)无法看到要么呈现价值标签.非常感谢您的帮助,我的代码如下.提前致谢!

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
pd.set_option('display.mpl_style', 'default') 
%matplotlib inline

# Bring some raw data.
frequencies = [6, 16, 75, 160, 244, 260, 145, 73, 16, 4, 1]

# In my original code I create a series and run on that, 
# so for consistency I create a series from the list.
freq_series = pd.Series.from_array(frequencies)

x_labels = [108300.0, 110540.0, 112780.0, 115020.0, 117260.0, 119500.0, 
            121740.0, 123980.0, 126220.0, 128460.0, 130700.0]

# Plot the figure. …
Run Code Online (Sandbox Code Playgroud)

python data-visualization matplotlib python-2.7 pandas

74
推荐指数
5
解决办法
13万
查看次数

如何为seaborn boxplot添加标题

看起来很漂亮但是无法在网上找到有用的东西.

我都试过sns.boxplot('Day', 'Count', data= gg).title('lalala')sns.boxplot('Day', 'Count', data= gg).suptitle('lalala').没有用.我想这可能是因为我也在使用matplotlib.

matplotlib pandas seaborn

64
推荐指数
5
解决办法
10万
查看次数

用多指数绘制的熊猫图

在表演之后groupby.sum(),DataFrame我在尝试制作我想要的情节时遇到了一些麻烦.

使用多索引对数据帧进行分组

如何kind='bar'为每个创建一个子图()Code,其中x轴是Month和,条是ColAColB

python matplotlib multi-index pandas

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

如何计算pandas数据帧中的重复行?

我试图计算我的数据帧中每种类型的行的重复项.例如,假设我在pandas中有一个数据帧,如下所示:

df = pd.DataFrame({'one': pd.Series([1., 1, 1]),
                   'two': pd.Series([1., 2., 1])})
Run Code Online (Sandbox Code Playgroud)

我得到一个看起来像这样的df:

    one two
0   1   1
1   1   2
2   1   1
Run Code Online (Sandbox Code Playgroud)

我想第一步是找到所有不同的唯一行,我这样做:

df.drop_duplicates()
Run Code Online (Sandbox Code Playgroud)

这给了我以下df:

    one two
0   1   1
1   1   2
Run Code Online (Sandbox Code Playgroud)

现在我想从上面的df([1 1]和[1 2])中获取每一行,并计算每个在初始df中的次数.我的结果看起来像这样:

Row     Count
[1 1]     2
[1 2]     1
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?

编辑:

这是一个更大的例子,使其更清晰:

df = pd.DataFrame({'one': pd.Series([True, True, True, False]),
                   'two': pd.Series([True, False, False, True]),
                   'three': pd.Series([True, False, False, False])})
Run Code Online (Sandbox Code Playgroud)

给我:

    one three   two
0   True    True    True
1   True    False   False
2   True    False …
Run Code Online (Sandbox Code Playgroud)

python pandas

43
推荐指数
7
解决办法
6万
查看次数