小编sok*_*efe的帖子

大熊猫价值的可能性

我试图在数据帧中找到给定单词的概率,但是AttributeError: 'Series' object has no attribute 'columns'我的当前设置出错了.希望你能帮我找到错误的位置.

我开始使用类似于下面的数据框,并使用以下函数对其进行转换以查找每个单词的总计数.

query          count
foo bar        10
super          8 
foo            4
super foo bar  2
Run Code Online (Sandbox Code Playgroud)

功能如下:

def _words(df):
    return df['query'].str.get_dummies(sep=' ').T.dot(df['count'])
Run Code Online (Sandbox Code Playgroud)

导致下面的df(注意'foo'是16,因为它在整个df中出现16次):

bar      12
foo      16
super    10
Run Code Online (Sandbox Code Playgroud)

当尝试在df中找到给定关键字的概率时会出现问题,该关键字当前不附加列名.下面是我目前正在使用的内容,但是抛出"AttributeError:'Series'对象没有属性'columns'"错误.

def _probability(df, query):
  return df[query] / df.groupby['count'].sum()
Run Code Online (Sandbox Code Playgroud)

我希望调用_probability(df,'foo')将返回0.421052632(16 /(12 + 16 + 10)).提前致谢!

python pandas

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

计算Pandas中一列字符串中的单词

我有一个pandas数据帧,其中包含给定时间段内的查询和计数,我希望将此数据帧转换为唯一字数.例如,如果数据框包含以下内容:

query          count
foo bar        10
super          8 
foo            4
super foo bar  2
Run Code Online (Sandbox Code Playgroud)

我希望收到以下数据框.例如,'foo'这个词在表格中恰好出现了16次.

word    count
foo     16
bar     12
super   10
Run Code Online (Sandbox Code Playgroud)

我正在使用下面的函数,但它似乎不是最佳的方法,它忽略了每行的总计数.

def _words(df):
  return Counter(re.findall(r'\w+', ' '.join(df['query'])))
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

提前致谢!

python group-by pandas pandas-groupby

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

测试递归 Python 函数

我有一个要测试的递归函数,但是在测试期间我很难限制递归调用。例如,下面是一个简单的递归函数示例,它调用 bool_function(n) 来检查它是否应该中断递归循环。

def factorial(n):
  if bool_function(n):
      return 1
  else:
      return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)

测试或模拟 bool_function(n) 的最佳方法是什么,以便第一次迭代为真,之后的任何调用为假?

python testing recursion mocking

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

使用Python计算元组的出现次数

我正在尝试将显示产品和成本的Python元组列表转换为以给定成本显示成本和产品数量的元组列表.

例如,给出以下输入:

[('Product1', 9), ('Product2', 1),
 ('Product3', 1), ('Product4', 2),
 ('Product5', 3), ('Product6', 4),
 ('Product7', 5), ('Product8', 6), 
 ('Product9', 7), ('Product10', 8), 
 ('Product11', 3), ('Product12', 1), 
 ('Product13', 2), ('Product14', 3), 
 ('Product15', 4), ('Product16', 5), 
 ('Product17', 6), ('Product18', 7)]
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Python中创建一个能够呈现下面的函数.即,对于三种不同的产品,值1呈现3次,因此(1,3).

[(1, 3), (2, 1), (3, 2), (4, 1), (5, 2), (6, 2), (7, 2), (8, 1) (9, 1)]
Run Code Online (Sandbox Code Playgroud)

python tuples python-2.7

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