我有一个四列DataFrame,其中有两列标记化的单词,这些单词已经删除并转换为小写,现在正试图阻止。
我不确定如果应用()
方法访问系列加上它的单个单元格,或者如果我需要另一种方式进入每个记录,所以尝试了两者(我想!)
从nltk.stem导入SnowballStemmer
stemmer=nltk.stem.SnowballStemmer('english')
df_2['Headline']=df_2['Headline'].应用(lambda x:stemmer.stem(项目)用于x中的项目)
--------------------------------------------------------------------------- TypeError Traceback(最近的调用最后)在 () ----
~\AppData\Local\Continuum\anaconda3\envs\learn env\lib\site packages\pandas\core\series.py in apply(self,func,convert\u dtype,args,**kwds)3192
else:3193 values=self.astype(object).values-
熊猫/_libs/src\inference.pyx_libs.lib.map_infer()
类型错误:生成器对象不可调用
我相信这个TypeError类似于那个说“列表”对象不可调用的对象,并修复了那个带有应用()方法的对象。
df_2['Headline']=df_2['Headline'].apply(lambda x:stemmer.stem(x))
---------------------------------------------------------------------------()----
~\AppData\Local\Continuum\anaconda3\envs\learn env\lib\site packages\pandas\core\series.py in apply(self,func,convert\u dtype,args,**kwds)3192
else:3193 values=self.astype(object).values-
熊猫/_libs/src\inference.pyx_libs.lib.map_infer()
在(x)----
stem(self,word)1415 1416中的~\AppData\Local\Continuum\anaconda3\envs\learn env\lib\site packages\nltk\stem\snowball.py-
列表对象没有属性
您需要为应用程序指定轴。
下面是一个完整的工作示例:
import pandas as pd
df = pd.DataFrame({
'col_1' : [['ducks'], ['dogs']],
'col_2' : [['he', 'eats', 'apples'], ['she', 'has', 'cats', 'dogs']],
'col_3' : ['some data 1', 'some data 2'],
'col_4' : ['another data 1', 'another data 2']
})
df.head()
输出
col_1 col_2 col_3 col_4
0 [ducks] [he, eats, apples] some data 1 another data 1
1 [dogs] [she, has, cats, dogs] some data 2 another data 2
现在,让我们为标记化列应用词干:
import nltk
from nltk.stem import SnowballStemmer
stemmer = nltk.stem.SnowballStemmer('english')
df.col_1 = df.apply(lambda row: [stemmer.stem(item) for item in row.col_1], axis=1)
df.col_2 = df.apply(lambda row: [stemmer.stem(item) for item in row.col_2], axis=1)
检查数据帧的新内容。
df.head()
输出
col_1 col_2 col_3 col_4
0 [duck] [he, eat, appl] some data 1 another data 1
1 [dog] [she, has, cat, dog] some data 2 another data 2
主要内容:SELECT,WHERE,GroupBy,LIMIT我们知道,使用 SQL 语句能够完成对 table 的增删改查操作,Pandas 同样也可以实现 SQL 语句的基本功能。本节主要讲解 Pandas 如何执行 SQL 操作。 首先加载一个某连锁咖啡厅地址分布的数据集,通过该数据集对本节内容进行讲解。 输出结果如下: SELECT 在 SQL 中,SELECT 查询语句使用 把要查询的每个字段分开,当然您也可以使用 来选择所有的字段。如下所示: 对
问题内容: 在熊猫数据框中,如何应用一种excel left(’state’,2)只接受前两个字母。理想情况下,我也想学习如何在数据框中使用左,右和中间。因此,对于此特定示例,需要一个等效而不是一个“技巧”。 我想得到这个: 问题答案: 列中每个值的前两个字母: 最后的两个是。不知道您到底想要什么,但是您可以使用方法将任意函数应用于列:
问题内容: 选择/过滤索引为MultiIndex的数据框的行的最常见的熊猫方法是什么? 根据单个值/标签切片 根据一个或多个级别的多个标签进行切片 根据布尔条件和表达式进行过滤 哪种方法在什么情况下适用 为简单起见假设: 输入数据框没有重复的索引键 下面的输入数据框只有两个级别。(此处显示的大多数解决方案一般都适用于N级) 输入示例: 问题1:选择单个项目 如何选择级别为“一个”的行为”a”的行?
我需要选择满足以下条件的行: 如果(X为真,Z为假)(X为假,Z为真),则将True作为值赋给新列。 我试过这个: 但是我得到了以下错误: ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。 我尝试使用任何(),如下所示
问题内容: 如果应用程序是第一次加载,我正在尝试执行segue。我可以在调试器中看到我的打印消息,但是Perform Segue无法正常工作。我没有任何错误。有人可以告诉我怎么了吗? 问题答案: 您不能在viewDidLoad()中使用performSegue()。将其移动到viewDidAppear()。 在viewDidLoad()时,当前视图甚至还没有附加到窗口,因此尚无法进行隔离。
问题内容: 我正在用PHP生成典型的Web 2.0 HTML页面:它包含许多标记和JavaScript代码,这些事件将在load事件之后实质上改变DOM。 有没有一种方法可以直接从PHP获取最终的HTML代码,而无需使用任何浏览器打开页面? 例如,假设页面的HTML是(仅作为示例): 该HTML保存在PHP变量中。现在,我想将该变量传递给某个函数,该函数将返回$ result = 。 这可能吗?