小编And*_*den的帖子

在Google Analytics中按用户代理进行过滤

我有一种方法可以在配置文件过滤器(Admin <Profiles <Filter)中按用户代理进行过滤吗?

("浏览器版本"与用户代理相同吗?)

google-analytics

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

IIS 中的 Python CGI:urandom 函数的问题

我在 IIS 中运行 python CGI 脚本时遇到了一个非常奇怪的问题。

该脚本在自定义应用程序池中运行,该应用程序池使用域中的用户帐户作为身份。该站点已禁用模拟,并使用 Kerberos 进行身份验证。

  • 当帐户是“Domain Admins”组成员时,一切都像魅力一样
  • 当帐户不是 的成员时“Domain Admins”,我在脚本的第一行收到错误消息:“import cgi”。似乎导入最终会导致生成一个随机数,并且调用_urandom()失败并带有“WindowsError: [Error 5] Access is denied”.
  • 如果我从命令提示符运行相同的脚本,当使用与应用程序池中的用户相同的用户登录时,一切都像魅力一样。

在网上搜索时,我发现_urandomWindows 上的CryptGenRandom功能是由操作系统中的功能支持的。不知何故,从 IIS 运行时,我的 python CGI 脚本似乎无权访问该函数,而在从命令提示符运行时,它可以访问该函数。

更复杂的是,当以运行应用程序池的帐户登录,然后从 Web 浏览器调用 CGI 脚本时,它会起作用。事实证明,我必须使用与应用程序池相同的用户登录才能使其工作。正如我之前所说,模拟被禁用,但不知何故,身份似乎以某种方式传递给 Windows 中的安全功能。

如果我修改random.py调用_urandom()函数的文件只返回一个固定数字,一切正常,但是我可能已经破坏了 python 中的很多安全功能。

那么有没有人经历过这样的事情?关于发生了什么的任何想法?

python cgi iis-7.5

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

用于删除百分比的正则表达式

您好,我真的很感谢您在形成一个从字符串末尾删除百分比的正则表达式时得到一些帮助:

Film name (2009) 58%  ->  Film name (2009)
Film name (2010) 59%  ->  Film name (2010)
Run Code Online (Sandbox Code Playgroud)

该字符串可能有也可能没有括号内的年份。在括号年份之前,电影名称可能是字母数字并且有多个单词。

我正在使用“批量重命名实用程序”,因此希望填写“匹配”和“替换”字段。

我能想到的最好的办法是:

([A-Z][a-z]*) \((\d*)\) (\d*\%) -->  \1 (\2)
Run Code Online (Sandbox Code Playgroud)

虽然这似乎只适用于单字电影名称,并且丢失了括号,所以我不得不重新添加!

我用谷歌搜索过,每次我尝试可能的表达式时,它在“批量重命名实用程序”中不起作用,我相信它是基于 pcre(批量重命名实用程序)的。

regex perl

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

python中打印的括号

我在python中有这行代码

print 'hello world'
Run Code Online (Sandbox Code Playgroud)

反对

print ('hello world')
Run Code Online (Sandbox Code Playgroud)

谁能告诉我两者之间的区别?

我在一个简单的代码中使用它

var = 3
if var > 2: 
    print 'hello'
Run Code Online (Sandbox Code Playgroud)

它无法严格检查var的所有值.但是,如果我将代码定义为

var = 3
if var > 2: 
    print ('hello')
Run Code Online (Sandbox Code Playgroud)

有用!

python printing

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

在阅读之前懒惰地过滤文件

假设我有一个BIG文件,其中包含一些我想忽略的行,以及一个file_function带有文件对象的函数().我可以返回一个新的文件对象,其行满足某些条件而不首先读取整个文件,这种懒惰是重要的部分.

注意:我可以保存一个忽略这些行的临时文件,但这并不理想.

例如,假设我有一个csv文件(带有坏行):

1,2
ooops
3,4
Run Code Online (Sandbox Code Playgroud)

第一次尝试是创建新文件对象(使用与文件相同的方法)并覆盖readline:

class FileWithoutCondition(file):
    def __init__(self, f, condition):
        self.f = f
        self.condition = condition
    def readline(self):
        while True:
            x = self.f.readline()
            if self.condition(x):
                return x
Run Code Online (Sandbox Code Playgroud)

如果file_name仅使用readline...则有效,但如果需要其他功能则不行.

with ('file_name', 'r') as f:
    f1 = FileWithoutOoops(f, lambda x: x != 'ooops\n')
    result = file_function(f1)
Run Code Online (Sandbox Code Playgroud)

使用StringIO的解决方案可能有效,但我似乎无法实现.

理想情况下,我们应该假设这file_function是一个黑盒功能,特别是我不能只是调整它来接受一个生成器(但也许我可以调整一个生成器就像文件一样?).
有没有一种标准的方法来执行这种懒惰(skim-)读取通用文件?

注意:这个问题的激励性例子就是这个熊猫问题,其中只有一个readline不足以开始pd.read_csv工作......

python file

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

没有复制的熊猫数据框

在创建 Pandas DataFrame 时,如何避免复制提供的字典?

>>> a = np.arange(10)
>>> b = np.arange(10.0)
>>> df1 = pd.DataFrame(a)
>>> a[0] = 100
>>> df1
     0
0  100
1    1
2    2
3    3
4    4
5    5
6    6
7    7
8    8
9    9
>>> d = {'a':a, 'b':b}
>>> df2 = pd.DataFrame(d)
>>> a[1] = 200
>>> d
{'a': array([100, 200,   2,   3,   4,   5,   6,   7,   8,   9]), 'b': array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8., …
Run Code Online (Sandbox Code Playgroud)

pandas

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

Pandas访问最后一个非空值

我想用给定组的最后一个有效值填充数据帧NaN.例如:

import pandas as pd
import random as randy
import numpy as np

df_size = int(1e1)                
df = pd.DataFrame({'category': randy.sample(np.repeat(['Strawberry','Apple',],df_size),df_size), 'values': randy.sample(np.repeat([np.NaN,0,1],df_size),df_size)}, index=randy.sample(np.arange(0,10),df_size)).sort_index(by=['category'], ascending=[True])
Run Code Online (Sandbox Code Playgroud)

提供:

     category   value
7       Apple     NaN
6       Apple       1
4       Apple       0
5       Apple     NaN
1       Apple     NaN
0  Strawberry       1
8  Strawberry     NaN
2  Strawberry       0
3  Strawberry       0
9  Strawberry     NaN
Run Code Online (Sandbox Code Playgroud)

我想要计算的列如下所示:

     category   value  last_value
7       Apple     NaN         NaN
6       Apple       1         NaN
4       Apple       0           1
5       Apple     NaN           0
1       Apple     NaN …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

如何在重新采用pandas时获取字符串变量的模式

我正在尝试将带有时间戳索引的pandas数据帧重新采样为每小时一次.我有兴趣获得具有字符串值的列的最常用值.然而,时间序列重新采样的内置函数不包括模式作为重新采样的默认方法之一(因为它"意味着"和"计数").
我试图定义自己的函数并传递该函数但不起作用.我也尝试过使用该np.bincount功能,但由于我正在处理字符串,所以它不起作用.

以下是我的数据的外观:

                   station_arrived action     lat1     lon1
date_removed
2012-01-01 13:12:00     56             A     19.4171 -99.16561   
2012-01-01 13:12:00     56             A     19.4271 -99.16361 
2012-01-01 15:41:00     56             A     19.4171 -99.16561 
2012-01-02 08:41:00     56             C     19.4271 -99.16561 
2012-01-02 11:36:00     56             C     19.2171 -99.16561
Run Code Online (Sandbox Code Playgroud)

到目前为止这是我的代码:

def mode1(algo):
    common=[ite for ite, it in Counter(algo).most_common(1)]
    # Returns all unique items and their counts
    return common

hourlycount2 = travels2012.resample('H', how={'station_arrived': 'count',
                                              'action': mode(travels2012['action']),
                                              'lat1':'count', 'lon1':'count'})

hourlycount2.head()
Run Code Online (Sandbox Code Playgroud)

我看到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 3, in …
Run Code Online (Sandbox Code Playgroud)

python time-series pandas

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

朱莉娅dataeye不工作

我正在关注YouTube视频"朱莉娅数据分析与数据框架(John Myles White)"

我到了Convenience构造函数部分,dataeye等...但是,我在Julia 0.3.3中得到以下内容:

julia> dm = dataeye(2)  
ERROR: dataeye not defined  
Run Code Online (Sandbox Code Playgroud)

dataeye()功能位于/定义在哪里?

BTW:视频中使用的RDatasets在哪里?

julia

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

Pandas GroupBy 中的计数和连接整数

假设这是我的 df

   A   B   C
0  a  33  13
1  b  44  14
2  a  55  15
3  a  66  16
4  b  77  17
5  c  88  18
Run Code Online (Sandbox Code Playgroud)

我尝试得到这样的东西

   A      B         B     C
      count      list   sum
0  a      3  33,55,66    44
1  b      2     44,77    31
2  c      1        88    81
Run Code Online (Sandbox Code Playgroud)

有没有Pythonic的方法来做到这一点?

这是我的代码,但它不是 pythonic

df.groupby('A').agg({'B': ["count", lambda x: ','.join(x.astype(str))], 'C':sum})
Run Code Online (Sandbox Code Playgroud)

python concatenation pandas pandas-groupby

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