我试图在数据帧中找到给定单词的概率,但是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)).提前致谢!
我有一个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)
任何帮助将不胜感激.
提前致谢!
我有一个要测试的递归函数,但是在测试期间我很难限制递归调用。例如,下面是一个简单的递归函数示例,它调用 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元组列表转换为以给定成本显示成本和产品数量的元组列表.
例如,给出以下输入:
[('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)